diff --git a/ChangeLog b/ChangeLog index 970286b7e..2d220db09 100644 --- a/ChangeLog +++ b/ChangeLog @@ -91,6 +91,8 @@ * resume data no longer has timestamps of files * require C++11 to build libtorrent + * fix python binding for torrent_info::creation_date() + 1.1.10 release * fix issue in udp_socket with unusual socket failure diff --git a/bindings/python/src/datetime.cpp b/bindings/python/src/datetime.cpp index 62f269350..5a23093d7 100644 --- a/bindings/python/src/datetime.cpp +++ b/bindings/python/src/datetime.cpp @@ -146,5 +146,6 @@ void bind_datetime() , chrono_duration_to_python>(); optional_to_python(); + optional_to_python(); } diff --git a/bindings/python/test.py b/bindings/python/test.py index 40760452d..7110d0170 100644 --- a/bindings/python/test.py +++ b/bindings/python/test.py @@ -297,6 +297,7 @@ class test_torrent_info(unittest.TestCase): self.assertEqual(f.file_name(0), 'test_torrent') self.assertEqual(f.file_size(0), 1234) self.assertEqual(info.total_size(), 1234) + self.assertEqual(info.creation_date(), 0) def test_metadata(self): ti = lt.torrent_info('base.torrent') diff --git a/src/create_torrent.cpp b/src/create_torrent.cpp index 49653619c..740df7fc6 100644 --- a/src/create_torrent.cpp +++ b/src/create_torrent.cpp @@ -247,6 +247,18 @@ namespace { , default_pred, flags); } +namespace { + struct disk_aborter + { + explicit disk_aborter(disk_io_thread& dio) : m_dio(dio) {} + ~disk_aborter() { m_dio.abort(true); } + disk_aborter(disk_aborter const&) = delete; + disk_aborter& operator=(disk_aborter const&) = delete; + private: + disk_io_thread& m_dio; + }; +} + void set_piece_hashes(create_torrent& t, std::string const& p , std::function const& f, error_code& ec) { @@ -279,6 +291,7 @@ namespace { counters cnt; disk_io_thread disk_thread(ios, cnt); + disk_aborter da(disk_thread); aux::vector priorities; sha1_hash info_hash; @@ -320,7 +333,6 @@ namespace { #else ios.run(ec); #endif - disk_thread.abort(true); } create_torrent::~create_torrent() = default;