premiere-libtorrent/include/libtorrent
Steven Siloti 0232dc35cd deprecate lock_files (#2344)
File locking interacts poorly with the path to replace a read only file handle
with a read/write one. For performance reasons the old handle is not closed
until the new one is put in place. With file locking this obviously cannot
work because the first handle is holding a lock on the file. As a result,
file_pool::open_file fails in this case. Even if we dropped the reference to
the read only file handle before attempting to re-open it, the open could still
fail if another thread is holding a reference to the read only handle.

There doesn't seem to be a good way around this. The simple solution would be
to always open files in read/write mode, but that has obvious safety downsides.
Any other solution would significantly complicate the file pool code.
Deprecating file locking seems to be the least bad option.
2017-09-17 10:43:27 +02:00
..
aux_ some random cleanup 2017-09-13 08:28:46 +02:00
extensions change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
kademlia minor cleanups 2017-09-16 13:48:11 +02:00
ConvertUTF.h merge RC_1_1 into master 2017-05-15 09:12:23 -04:00
Makefile.am straighten out some type-safety in port mapping enums (#2285) 2017-08-30 20:47:49 +02:00
add_torrent_params.hpp make add_torrent_params::flags_t an enum class and move it out into its own header 2017-07-17 01:05:31 -07:00
address.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
alert.hpp fix typo and extra ::alert 2017-08-06 04:28:36 +02:00
alert_manager.hpp make alert category flags be a strong type 2017-07-26 07:20:47 -07:00
alert_types.hpp merged RC_1_1 into master 2017-09-16 21:07:29 +02:00
allocator.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
announce_entry.hpp use a handle class for listen sockets instead of raw pointers 2017-07-21 19:18:44 -07:00
assert.hpp headers, end of file, code cleanup 2016-12-12 23:36:45 -05:00
bandwidth_limit.hpp fix bandwith rate limit calculation (#2134) 2017-07-11 21:35:12 -07:00
bandwidth_manager.hpp make single-argument constructors explicit (#1194) 2016-10-08 14:07:11 -04:00
bandwidth_queue_entry.hpp some refactor and cleanup (#1065) 2016-09-05 22:25:20 -04:00
bandwidth_socket.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
bdecode.hpp use span in torrent_info constructors and deprecate the redundant flags argument 2017-07-22 00:00:44 -07:00
bencode.hpp use span in torrent_info constructors and deprecate the redundant flags argument 2017-07-22 00:00:44 -07:00
bitfield.hpp added add_torrent_params.cpp and moved is_nothrow asserts to cpp files (#2059) 2017-06-07 16:41:28 +02:00
block_cache.hpp merged RC_1_1 into master 2017-09-03 13:57:19 +02:00
bloom_filter.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
broadcast_socket.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
bt_peer_connection.hpp some random cleanup 2017-09-13 08:28:46 +02:00
buffer.hpp some random cleanup 2017-09-13 08:28:46 +02:00
build_config.hpp extend link compatibility check to export-extra configurations (#876) 2016-07-03 11:42:57 -04:00
chained_buffer.hpp remove session pool allocator and use the buffer class instead (#2274) 2017-08-28 11:37:53 +02:00
choker.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
close_reason.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
config.hpp remove session pool allocator and use the buffer class instead (#2274) 2017-08-28 11:37:53 +02:00
copy_ptr.hpp minor code cleanup (#1933) 2017-04-22 21:33:38 -04:00
crc32c.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
create_torrent.hpp make create_torrent flags type-safe 2017-08-04 21:23:42 +02:00
deadline_timer.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
debug.hpp fix backwards compatibility issue when loading the torrent info dict from resume data 2017-06-29 15:03:49 -04:00
disk_buffer_holder.hpp remove session pool allocator and use the buffer class instead (#2274) 2017-08-28 11:37:53 +02:00
disk_buffer_pool.hpp remove left-overs from disk buffer pool allocator 2017-08-21 16:36:00 +02:00
disk_interface.hpp deprecate lock_files (#2344) 2017-09-17 10:43:27 +02:00
disk_io_job.hpp make disk job flags type safe 2017-09-10 08:56:52 +02:00
disk_io_thread.hpp some random cleanup 2017-09-13 08:28:46 +02:00
disk_io_thread_pool.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
disk_job_pool.hpp make the job action enum an enum class 2017-06-11 23:53:58 +02:00
disk_observer.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
ed25519.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
entry.hpp make move constructors and move assignment operators noexcept 2017-06-01 23:42:15 +02:00
enum_net.hpp using if_indextoname instead of RTM_GETLINK to fill the interface name in enum_net_interfaces (#2253) 2017-08-20 10:55:59 +02:00
error.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
error_code.hpp use a handle class for listen sockets instead of raw pointers 2017-07-21 19:18:44 -07:00
export.hpp use the official boost.config header 2017-07-12 11:31:29 -07:00
extensions.hpp merged RC_1_1 into master 2017-06-21 00:51:43 -04:00
file.hpp deprecate lock_files (#2344) 2017-09-17 10:43:27 +02:00
file_pool.hpp use a dedicated class template for flags types instead of enum class. It's more backwards compatible and improves ergonomics 2017-07-15 01:15:57 -07:00
file_storage.hpp add_file_borrow: use string_view instead of pointer, size parameters (#2302) 2017-09-02 23:58:36 +02:00
fingerprint.hpp minor code cleanup (#1933) 2017-04-22 21:33:38 -04:00
flags.hpp some cleanup of type-safe flags 2017-07-30 18:20:15 -07:00
fwd.hpp move dht_settings into its own header cpp file-pair and dht_settings into the dht namespace 2017-09-04 22:38:16 +02:00
gzip.hpp use span in gzip, http_parser and http_connection 2017-09-04 22:33:38 +02:00
hasher.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
hasher512.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
heterogeneous_queue.hpp added add_torrent_params.cpp and moved is_nothrow asserts to cpp files (#2059) 2017-06-07 16:41:28 +02:00
hex.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
http_connection.hpp move dht_settings into its own header cpp file-pair and dht_settings into the dht namespace 2017-09-04 22:38:16 +02:00
http_parser.hpp use span in gzip, http_parser and http_connection 2017-09-04 22:33:38 +02:00
http_seed_connection.hpp some random cleanup 2017-09-13 08:28:46 +02:00
http_stream.hpp don't allocate handlers for proxy sockets in the heap, move them instead (#1342) 2016-11-19 22:56:34 -05:00
http_tracker_connection.hpp some random cleanup 2017-09-13 08:28:46 +02:00
i2p_stream.hpp move dht_settings into its own header cpp file-pair and dht_settings into the dht namespace 2017-09-04 22:38:16 +02:00
identify_client.hpp fix internal use of deprecated function identify_client 2017-06-10 08:16:23 +02:00
instantiate_connection.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
invariant_check.hpp build boost from scratch on linux (to get a newer version). upgrade travis to trusty and newer xcode. python binding fixes 2017-08-14 12:22:06 +02:00
io.hpp some random cleanup 2017-09-13 08:28:46 +02:00
io_service.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
io_service_fwd.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
ip_filter.hpp minor cleanups 2017-09-16 13:48:11 +02:00
ip_voter.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
lazy_entry.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
link.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
linked_list.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
lsd.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
magnet_uri.hpp merged RC_1_1 into master 2017-04-13 07:42:32 -07:00
natpmp.hpp some random cleanup 2017-09-13 08:28:46 +02:00
netlink.hpp avoid netlink.hpp compilation errors due to lack of comparison operators for sockaddr_nl 2017-06-02 20:36:59 +02:00
operations.hpp convert remaining alerts to use operation_t instead of string literal 2017-06-18 22:05:50 -04:00
packet_buffer.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
packet_pool.hpp some random cleanup 2017-09-13 08:28:46 +02:00
parse_url.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
part_file.hpp make file open mode flags be an enum class for type-safety 2017-05-28 11:16:59 -04:00
pe_crypto.hpp some random cleanup 2017-09-13 08:28:46 +02:00
peer.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
peer_class.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
peer_class_set.hpp improve deprecated markup (#1823) 2017-03-17 20:41:47 -04:00
peer_class_type_filter.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
peer_connection.hpp some random cleanup 2017-09-13 08:28:46 +02:00
peer_connection_handle.hpp some random cleanup 2017-09-13 08:28:46 +02:00
peer_connection_interface.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
peer_id.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
peer_info.hpp some cleanup of type-safe flags 2017-07-30 18:20:15 -07:00
peer_list.hpp wrap destination string in i2p_peer in string_ptr handler (#2268) 2017-08-25 09:42:46 +02:00
peer_request.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
performance_counters.hpp implemented support for BEP 51 (#1652) 2017-06-12 11:54:11 +02:00
piece_block.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
piece_block_progress.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
piece_picker.hpp convert enum values that are just used as constants, to actual constants with the correct type 2017-08-04 15:23:20 +02:00
platform_util.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
portmap.hpp use a strong typedef for port mapping id 2017-09-02 07:02:07 +02:00
proxy_base.hpp merged RC_1_1 into master 2017-05-12 21:46:45 -04:00
puff.hpp update puff.c for gzip inflation (#1022) 2016-08-21 14:43:44 -04:00
random.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
read_resume_data.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
receive_buffer.hpp remove session pool allocator and use the buffer class instead (#2274) 2017-08-28 11:37:53 +02:00
request_blocks.hpp convert peer_flags and peer_source_flags to type-safe flags 2017-07-17 10:22:32 -07:00
resolve_links.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
resolver.hpp some random cleanup 2017-09-13 08:28:46 +02:00
resolver_interface.hpp some cleanup of type-safe flags 2017-07-30 18:20:15 -07:00
session.hpp move dht_settings into its own header cpp file-pair and dht_settings into the dht namespace 2017-09-04 22:38:16 +02:00
session_handle.hpp move dht_settings into its own header cpp file-pair and dht_settings into the dht namespace 2017-09-04 22:38:16 +02:00
session_settings.hpp move dht_settings into its own header cpp file-pair and dht_settings into the dht namespace 2017-09-04 22:38:16 +02:00
session_stats.hpp use string_view in find_metric_idx 2017-09-04 07:50:13 +02:00
session_status.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
session_types.hpp make save_state_flags a strong type 2017-07-30 09:06:41 -07:00
settings_pack.hpp deprecate lock_files (#2344) 2017-09-17 10:43:27 +02:00
sha1.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
sha1_hash.hpp convert enum values that are just used as constants, to actual constants with the correct type 2017-08-04 15:23:20 +02:00
sha512.hpp some random cleanup 2017-09-13 08:28:46 +02:00
sliding_average.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
socket.hpp merged RC_1_1 into master 2017-09-16 21:07:29 +02:00
socket_io.hpp more use of std::tuple_size<> and empty() 2017-08-28 22:47:34 +02:00
socket_type.hpp convert enum values that are just used as constants, to actual constants with the correct type 2017-08-04 15:23:20 +02:00
socket_type_fwd.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
socks5_stream.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
span.hpp add span ctor from const containers (#2275) 2017-08-28 11:36:51 +02:00
ssl_stream.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
stack_allocator.hpp move stack allocator implementation into its own cpp file 2017-07-23 16:49:24 -07:00
stat.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
stat_cache.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
storage.hpp some random cleanup 2017-09-13 08:28:46 +02:00
storage_defs.hpp storage_params cleanup 2017-06-20 10:27:28 -04:00
string_util.hpp cleanup tokenize_string -> split_string 2017-09-02 07:46:16 +02:00
string_view.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
tailqueue.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
time.hpp use 32 bit time points in torrent (#1662) 2017-02-05 19:18:06 -05:00
timestamp_history.hpp convert enum values that are just used as constants, to actual constants with the correct type 2017-08-04 15:23:20 +02:00
torrent.hpp some random cleanup 2017-09-13 08:28:46 +02:00
torrent_flags.hpp some cleanup of type-safe flags 2017-07-30 18:20:15 -07:00
torrent_handle.hpp remove rss_reader.py, since rss has been reprecated. fix python binding for torrent_handle, to be hashable. update client_test.py to not use deprecated APIs and follow best (libtorrent) practice 2017-09-11 22:28:57 +02:00
torrent_info.hpp added some std:: in public api 2017-08-05 02:44:25 +02:00
torrent_peer.hpp wrap destination string in i2p_peer in string_ptr handler (#2268) 2017-08-25 09:42:46 +02:00
torrent_peer_allocator.hpp some random cleanup 2017-09-13 08:28:46 +02:00
torrent_status.hpp fix documentation issue 2017-09-04 16:50:11 +02:00
tracker_manager.hpp some random cleanup 2017-09-13 08:28:46 +02:00
udp_socket.hpp some cleanup of type-safe flags 2017-07-30 18:20:15 -07:00
udp_tracker_connection.hpp some random cleanup 2017-09-13 08:28:46 +02:00
union_endpoint.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00
units.hpp use a strong typedef for port mapping id 2017-09-02 07:02:07 +02:00
upnp.hpp some random cleanup 2017-09-13 08:28:46 +02:00
utf8.hpp use span in parse_utf8_codepoint 2017-09-02 07:03:46 +02:00
utp_socket_manager.hpp lint-based code review in utp related code 2017-08-13 07:49:43 +02:00
utp_stream.hpp lint-based code review in utp related code 2017-08-13 07:49:43 +02:00
vector_utils.hpp modernize vector_utils.hpp 2016-12-23 17:37:44 -08:00
version.hpp bump version 2017-09-04 15:35:45 +02:00
web_connection_base.hpp some random cleanup 2017-09-13 08:28:46 +02:00
web_peer_connection.hpp some random cleanup 2017-09-13 08:28:46 +02:00
write_resume_data.hpp more use of emplace_back in write_resume_data (#2221) 2017-08-09 00:19:11 +02:00
xml_parse.hpp change formatting of namespace declarations 2017-04-12 14:26:35 -04:00