Eugene Shalygin
81fd09775c
Fix compilation with GCC 8
2018-05-07 13:33:18 +02:00
Arvid Norberg
4b368e1cfc
merged RC_1_1 into master
2018-05-02 01:57:41 +02:00
arvidn
8808eb7cdd
introduce a recursive mutex to protect the alert_manager, and hold the mutex while calling user callbacks and plugin hooks. This is required to ensure the underlying storage for alert allocations (in the stack allocators) is synchronized with the thread that may be accessing it
2018-05-01 23:17:51 +02:00
Alex Hirsch
168ec6b516
Use _CFLAGS_OTHER for compiler definitions
...
`PC_LIBTORRENT_RASTERBAR_CFLAGS` not only gives you the definitions, but
also includes the include path flags (`-I...`).
This causes problesm when passing the result to
`target_compile_definitions`. The resulting compiler command would then
look something like this:
/usr/bin/c++ -D-I/home/...
This change uses `PC_LIBTORRENT_RASTERBAR_CFLAGS_OTHER` instead which
does not contain the include path flags.
2018-05-01 23:11:58 +02:00
Alden Torres
8da635d1f5
minor code cleanup, more use of const
2018-05-01 23:03:29 +02:00
Arvid Norberg
26b0487f0b
merged RC_1_1 into master
2018-05-01 21:26:42 +02:00
d-komarov
785f173df3
Revise alert priorities / torrent::on_resume_data_checked issue ( #2962 )
...
Most status alerts should have priorities above normal level. Good reason for this is resume data verification case. For a large torrent(having lots of pieces) whole alert queue will be overflowed
with a `piece_finished_alert` right after resume data has been verified. Thus alerts like `torrent_checked_alert`, `torrent_finished`, `state_changed_alert` will not go the alerts queue.
* Introduce alert_priority enumeration
* Bump state_changed_alert's priority
* Set dht_direct_response_alert priority to `critical`
2018-05-01 12:26:37 +02:00
Alden Torres
cb8b32f353
revert to use Boost variables in CMakeLists.txt
2018-05-01 10:50:21 +02:00
Alden Torres
377e800e72
fixed conversion warnings in 32 bits
2018-04-30 23:09:00 +02:00
Alden Torres
3b412f5ab8
avoid warnings in Jamfile due to unescaped special characters
2018-04-30 23:07:14 +02:00
Eugene Shalygin
4afa4932df
Add required dependencies to the generated package Config.cmake file
2018-04-29 19:48:26 +02:00
Eugene Shalygin
63229dbda6
Properly select release build with CMake for AppVeyor
2018-04-29 19:48:26 +02:00
Eugene Shalygin
3c6e0b2578
Generate proper pkg-config file in cmake build
2018-04-29 19:48:26 +02:00
Eugene Shalygin
049e918295
build python bindings with cmake
2018-04-29 19:48:26 +02:00
Eugene Shalygin
55e2b23255
Add workaround for MSVC and snprintf define
2018-04-29 19:48:26 +02:00
Arvid Norberg
07ff024e30
fix conversions of resume_data field of save_resume_data_alert. make write_resume_data_buf return a byte-array. use write_resume_data_buf() in client.py instead of, the deprecated, resume_data
2018-04-29 16:33:09 +02:00
Steven Siloti
ec18742f8e
save the number of idle threads locally in disk_io_thread_pool::thread_active
...
This cuts down on the number of atomic loads while also being more correct.
Before it was possible for m_num_idle_threads to increase before its value
could be stored in m_min_idle_threads.
2018-04-29 16:31:18 +02:00
Arvid Norberg
fc56ec194a
merge RC_1_1 into master
2018-04-29 15:07:26 +02:00
arvidn
33bf3c827f
fix deprecation markups
2018-04-28 22:47:38 +02:00
Arvid Norberg
747fcb633a
fix typo in client.py. introduce parse_magnet_uri_dict to python binding (returning a dict) in preparation for next major version that will release an add_torrent_params object
2018-04-28 19:05:23 +02:00
Eugene Shalygin
927647acc5
Add options to specify network interfaces to client.py
2018-04-28 15:55:28 +02:00
arvidn
8621477239
merged RC_1_1 into master
2018-04-28 14:36:24 +02:00
Steven Siloti
f5e33932d2
fix use after free in flush_range and flush_iovec
...
Calling blocks_flushed can cause the piece entry to be freed so its
callers need to be aware of that and avoid dereferencing the pointer if
the entry is freed.
2018-04-27 16:15:19 +02:00
Arvid Norberg
366b7983d1
fix typo with bind_outgoing_socket~
2018-04-26 19:50:25 -04:00
pavel.pimenov
2a97ec6e0e
Windows: Fix build Visual C++ ARM/ARM64
2018-04-25 16:07:47 -04:00
Alden Torres
0ec66e9024
fix disk_io_thread::do_check_fastresume storage initialize logic from RC_1_1 merge
2018-04-25 16:04:20 -04:00
Alden Torres
83dd6c9c53
cleanup and refactor in storage source code
2018-04-25 16:02:30 -04:00
Chocobo1
6394e7ac02
Fix MSVC warning C4267 by casting to the correct type explictly
2018-04-24 23:16:54 -04:00
Arvid Norberg
b4d2281e53
honor torrent abort even on file check error
2018-04-24 23:14:48 -04:00
Xiyue Deng
21d8e9e26b
Add missing header <cstdarg> for va_list.
...
* Fix building on OpenBSD.
2018-04-24 23:09:25 -04:00
arvidn
3ede0b9c20
fix last_upload, last_download and last_scrape to be reported accurately and saved/restored in resume data
2018-04-22 06:14:22 -04:00
Alden Torres
d34973def9
minor code cleanup in disk buffer code
2018-04-21 23:48:40 -04:00
Arvid Norberg
d8c022070f
merged RC_1_1 into master
2018-04-21 17:17:55 -04:00
TheOriginalWinCat
bcb9e4546f
Use settings_pack::urlseed_wait_retry for default retry with http seeds. ( #2948 )
...
Update documentation
2018-04-21 18:36:56 +02:00
d-komarov
44479bcca3
Fix storage initialization ( #2944 )
...
If `default_storage::has_any_file` fails during fastresume data check, `piece_manager::check_no_fastresume` will skip storage initialization. In such case, any storage operation that require part file will cause an application crash.
2018-04-21 18:35:55 +02:00
Arvid Norberg
e1f99fb309
fix boost-python linking with latest version of brew
2018-04-21 18:35:05 +02:00
Baran Pirinçal
4e24c05426
Logo design ( #2942 )
2018-04-16 10:39:50 +02:00
arvidn
52e1a7b6c9
merged RC_1_1 into master
2018-04-15 11:00:57 +02:00
arvidn
9cd0ae67e7
another boost-1.67 build fix
2018-04-13 14:43:41 +02:00
Alden Torres
791a1e8557
minor code refactor and a few const in torrent.cpp
2018-04-13 14:17:02 +02:00
Steven Siloti
b3faba329d
create dummy alias for boost_python3 when python3 is unavailable
...
Versions of boost as recent as 1.63 do not create a stub alias for python3
which causes build failures if no version of python3 is configured.
Duplicate that behavior so that building works even on older versions of
boost.
2018-04-13 08:27:22 +02:00
arvidn
f0227451a6
merged RC_1_1 into master
2018-04-13 01:47:41 +02:00
arvidn
64d6b49004
fix boost-1.67 build
2018-04-12 14:33:46 +02:00
Steven Siloti
236e0e7699
pass default constructed boost::function instead of NULL
...
Clang 6 defines NULL as nullptr which breaks implicit construction
of boost::function from NULL.
2018-04-12 14:32:31 +02:00
Alden Torres
9b1e79660f
removed unnecessary parentheses around min/max, added some const modifier ( #2926 )
2018-04-11 15:19:00 +02:00
arvidn
aaf9304a3b
update year in copyright header
2018-04-09 09:04:33 +02:00
arvidn
105934e578
bump version
2018-04-08 23:08:39 +02:00
arvidn
c5a5e084dd
:strtoll() returns LLONG_MAX if the input overflows. Handle this case properly in the http parser
2018-04-08 18:34:25 +02:00
arvidn
a7406de2b8
remove the global cache of the current time, just use clock::now() instead
2018-04-07 21:43:18 +02:00
V.G. Bulavintsev
c08a6bf430
Make SACK header to be able to take up the whole packet. Rename m_in_buf_size to m_receive_buffer_capacity
2018-04-07 18:55:14 +02:00