Jorge Israel Peña
2cd70f4342
replace signal() call with sigaction() for better portability
...
signal() is known to have portability problems. Some systems such as
old Unix systems and System V employ a behavior in which the signal
disposition is reset to SIG_DFL (default) upon invocation of a signal
handler by the delivery of a signal.
See issue #51 in which Solaris users experience signal-based issues.
Solaris is a system which employs the SIG_DFL reset behavior even in
version 11.1.
See http://docs.oracle.com/cd/E26502_01/html/E29034/signal-3c.html
> If signal() is used, disp is the address of a signal handler, and sig is not SIGILL,
> SIGTRAP, or SIGPWR, the system first sets the signal's disposition to SIG_DFL before
> executing the signal handler.
On Solaris the default signal disposition for SIGUSR1 is to exit the application.
See http://docs.oracle.com/cd/E26502_01/html/E29033/signal.h-3head.html
If I'm correct in assuming this is the problem Solaris users are encountering,
the solution to this (and likely any other portability issues that may arise)
is to use sigaction() which has explicitly defined behavior as per the POSIX standards.
As you can see, it's a pretty drop-in solution. In fact, on some systems such as Linux,
glibc defines signal() as a wrapper around sigaction() to use BSD semantics (i.e. not the
behavior detailed above), which is likely why few others have experienced these problems.
See http://man7.org/linux/man-pages/man2/signal.2.html
2013-04-07 19:41:32 -07:00
rakshasa
7689059dbc
Cleaned up thread code.
2013-04-03 21:16:11 +09:00
rakshasa
3b2a47a6d0
Use thread_base::interrupt for all SIGUSR1 interrupt signals and don't set a handler if it's not supported.
2013-03-03 05:00:31 +09:00
rakshasa
e28692492b
Fixed obsolete macro statements.
2013-02-26 17:44:42 +09:00
rakshasa
2c97841e92
Removed unused member variables.
2013-02-26 17:40:41 +09:00
rakshasa
5e6cb5da04
Merge branch 'master' of github.com:rakshasa/rtorrent
2012-10-24 14:35:59 +09:00
rakshasa
cd029a67c5
Bumped version to 0.9.3.
2012-10-23 22:39:07 +09:00
Jari Sundell
addc323ec8
Merge pull request #89 from ShanaTsunTsunLove/master
...
Typo in rtorrent.rc
2012-09-05 12:14:54 -07:00
Mateusz Kowalczyk
2217b14095
Typo in default rtorrent.rc comment
2012-08-28 12:35:10 +01:00
rakshasa
6a84facae0
Merge branch 'master' of github.com:rakshasa/rtorrent
2012-08-14 17:56:24 +09:00
rakshasa
66a116841a
Removed old options.
2012-08-14 17:55:31 +09:00
rakshasa
bacb6c0f72
Removed unused variables.
2012-07-23 23:54:21 +09:00
Jari Sundell
40fc8bbf80
Merge pull request #79 from nullren/master
...
Restore create_link and delete_link.
2012-07-10 23:21:25 -07:00
nullren
13f672ab4d
using lt_log_print
...
replaced push_log_std with lt_log_print using LOG_TORRENT_WARN.
2012-06-27 00:19:09 -07:00
rakshasa
2967f9a224
Cleaned up old documents and scripts.
2012-06-27 15:43:32 +09:00
nullren
eac7536f6a
restored create_link
...
took away empty-body warnings from clang by restoring error messages
using push_log_std.
2012-06-23 20:21:47 -07:00
rakshasa
78f64a3e08
Use internal_error for priority queue exceptions.
2012-05-31 20:16:26 +09:00
rakshasa
cf77a17399
Cleaned up command wrappers.
2012-05-22 17:19:19 +09:00
rakshasa
48733c84ec
Added 'catch' command to allow safely calling commands that might fail with input_error. Note that double-brackets are required as the method needs to be called by the 'catch' command, not the parser.
...
catch = ((foo.bar,"bad input"))
2012-05-21 16:08:49 +09:00
rakshasa
b020aa0197
Pass command target when using rpc::call_object with dict_key.
2012-05-21 16:08:18 +09:00
rakshasa
678049bc09
Fixed brackets in autoconf scripts.
2012-05-14 20:18:29 +09:00
rakshasa
d0f6bb440a
Fixed clang compilation issues.
2012-05-07 02:25:37 +09:00
rakshasa
8f5f383e3c
For POSIX threads config script try none first to avoid adding flags when not needed.
2012-05-07 02:19:12 +09:00
rakshasa
2ca49e3485
Removed unused parse command function.
2012-05-07 01:53:39 +09:00
rakshasa
004862850d
Allow command function lists for dynamically created functions.
2012-05-04 22:56:58 +09:00
rakshasa
d2d09d97f8
Replace old command call functions with the new one taking torrent::Objects.
2012-05-04 22:33:26 +09:00
rakshasa
fb75510c0f
Allow functions and lists of functions to be passed to view.event_{added,removed}.
2012-05-04 21:31:12 +09:00
rakshasa
8d0f9b3300
Removed old hanshake log signal.
2012-05-04 05:17:11 +09:00
rakshasa
76ed90f514
Removed commented out settings for views.
2012-05-04 05:09:21 +09:00
rakshasa
b79dea94b2
Wait for disowned http requests to finish to ensure stopped event gets sent to tracker on client shutdown.
2012-05-04 04:02:59 +09:00
rakshasa
cf1c44ef5b
Removed sigc++ dependency from ConnectionManager.
2012-05-04 04:02:59 +09:00
Jari Sundell
9df9183a0c
Merge pull request #45 from SineSwiper/master
...
New rtorrent_fast_resume script
2012-04-27 00:41:12 -07:00
rakshasa
f373b20c1b
Removed old handshake logging functions.
2012-04-26 21:22:35 +09:00
rakshasa
22acdd87c3
Print backtrace for internal_error.
2012-04-25 22:23:15 +09:00
rakshasa
cca1f21471
Added logging of segfault/bus signal and backtrace to LOG_CRITICAL.
2012-04-25 21:46:23 +09:00
rakshasa
4dd7582240
Bumped version to 0.9.2.
2012-04-20 16:03:55 +09:00
rakshasa
03c0a4e18c
Allow tilde for 'log.open_file' path.
2012-04-18 17:32:12 +09:00
rakshasa
c2b768cd6d
Minor updates to choke group documentation.
2012-04-18 16:55:30 +09:00
rakshasa
63cf700593
Updated documentation for choke groups.
2012-04-16 17:06:53 +09:00
rakshasa
17201984a6
When 'throttle.max_*.global.*.set' commands are called they will automatically update the libtorrent settings, so it is no longer needed to set the throttle to force this update.
2012-04-16 00:40:47 +09:00
rakshasa
0a9e03df57
Added logging of options for created torrents.
2012-04-13 20:53:57 +09:00
rakshasa
90830dc765
Use right function argument for inotify test.
2012-04-12 18:44:42 +09:00
rakshasa
d2dd143d2e
Added 'throttle.update' to force 'throttle.max_{up,down}loads.global' setting to take effect.
2012-04-12 15:29:07 +09:00
rakshasa
b71b44dbd6
Merge branch 'master' of github.com:rakshasa/rtorrent
2012-04-11 19:27:17 +09:00
Jari Sundell
83294e2198
Merge pull request #53 from taylorchu/master
...
Sigc++ header cleanup.
2012-04-11 03:26:45 -07:00
rakshasa
46862e23a9
Added ENODEV to "error_number.h".
2012-04-11 19:24:24 +09:00
taylorchu
077288407f
fix build after removing sigc++ for download.cc
2012-04-10 15:42:45 -07:00
rakshasa
3fe1a734ac
Differentiate scrape and normal requests in the tracker list.
2012-04-10 15:38:41 +09:00
rakshasa
fdc6ee56de
Removed sigc++ signal from ConnectionList.
2012-04-07 15:06:25 +09:00
rakshasa
36f8e5d349
Use TR1 slots instead of sigc++ for DownloadInfo events.
2012-04-07 03:37:37 +09:00