Commit Graph

159 Commits

Author SHA1 Message Date
Charles Kerr 8ae3911477 (trunk libT) #2416 "crash in event_queue_insert" -- I am really quite sick of this bug. It's not reproducible at all under Linux and appears to be a bug in libevent's kqueue implementation. In this commit, we leak the event object on OS X. 2009-12-29 00:00:33 +00:00
Charles Kerr 6151881a03 (trunk libT) #2416 "crash in event_queue_insert" -- instead of freeing libevent's event objects, pool and reuse them. *sigh* 2009-12-28 23:29:59 +00:00
Charles Kerr ee58472ec2 (trunk libT) fix minor bug in r9651 "Reduce SO_SNDBUF and SO_RCVBUF for tracker announce/scrape messages" -- libcurl's CURLOPT_SOCKOPTFUNCTION doesn't return void; it returns an int that is nonzero if an error occurs. 2009-12-28 23:25:50 +00:00
Charles Kerr ac202f13bb (trunk libT) remove dead code -- tr_assert() 2009-12-28 23:11:26 +00:00
Charles Kerr bc86c0b364 (trunk libT) #2416 "crash in event_queue_insert" -- maybe this will finally fix it... 2009-12-26 23:57:25 +00:00
Charles Kerr 8903e1b4e3 (trunk libT) #2416 "crash in event_queue_insert" -- another experimental commit. /as an experiment/ let's just leak that event struct and see if that makes the crash go away. Obviously leaking those objects is not a long term fix but this will help point the way towards the real fix. 2009-12-24 18:50:34 +00:00
Charles Kerr b8d7e76750 (trunk libT) #2416 "crash in event_queue_insert" -- possible fix. it looks like the kqueue client is accessing the event after the callback and after event_del() is being called. *If* that's the case I don't know if it's a libevent bug or if libtransmission is making assumptions it shouldn't've... but it's easy enough to keep the memory in a pool and free it later when it's safer to do so. 2009-12-23 16:12:18 +00:00
Charles Kerr ef650d0398 (trunk libT) it certainly smells like we're using freed memory in the libcurl + libevent code in web.c... let's trash the structures right before free()ing them 2009-12-18 17:32:16 +00:00
Charles Kerr 0601442f58 (trunk libT) #2416 "crash in event_queue_insert" -- another stab at fixing this. yay 2009-12-14 18:24:26 +00:00
Charles Kerr 87aefaf5ff (trunk libT) #1699 "announce to multiple trackers at once" -- fix minor bug in reporting scrape results when an announce returns enough information that a separate scrape isn't necessary. 2009-12-14 17:17:05 +00:00
Charles Kerr ee0de4b06c (trunk libT) keep simplifying web.c... is there anything left to strip out? 2009-12-14 14:25:22 +00:00
Charles Kerr c33aef7e2d (trunk libT) more web.c simplification + handle an unhandled case CURL_POLL_NONE in the socket callback. 2009-12-14 12:54:30 +00:00
Charles Kerr 2653cd5153 (trunk libT) keep simplifying web.c. also, fix an improbable FMR at shutdown 2009-12-14 05:11:33 +00:00
Charles Kerr 6d9e6ececc (trunk libT) remove some more obsolete debug messages and other cruft from web.c 2009-12-13 19:33:02 +00:00
Charles Kerr 485b64a5e3 (trunk libT) it never ends 2009-12-13 17:54:01 +00:00
Charles Kerr a89d2217af (trunk libT) #2416 "crash in event_queue_insert()" 2009-12-11 15:41:34 +00:00
Charles Kerr 5f1f2b1e85 (trunk libT) use curl_multi_socket_action(), even on OS X. 2009-12-10 19:05:21 +00:00
Charles Kerr 1c772bd1fe (trunk libT) finally get rid of the last remnants of tr_timer 2009-12-10 05:52:46 +00:00
Charles Kerr 78ead8c3dd (trunk) update the copyright notices 2009-12-05 02:19:24 +00:00
Charles Kerr 6eec59008c (trunk libT) experimental: Reduce SO_SNDBUF and SO_RCVBUF for tracker announce/scrape messages. Reduce SO_RCVBUF for outgoing peer connections on seeding torrents. 2009-12-02 05:30:46 +00:00
Charles Kerr 63027e1d5a (trunk libT) resolve "noslashes" vs "keep_slashes" variable name inconsistency between the declaration and the definition of tr_http_escape() 2009-11-29 08:05:47 +00:00
Charles Kerr 9383a6abfd (trunk libT) #2096: add code magnet URL parser and unit tests 2009-11-20 04:38:19 +00:00
Charles Kerr 44df1d5548 (trunk libT) #2112: provide "ipv6=" parameter to trackers 2009-11-10 17:03:23 +00:00
Charles Kerr 55c59fa478 (trunk) fix r9380 #2412 timing issue 2009-10-23 05:48:56 +00:00
Charles Kerr 9affe9ef59 (trunk libT) #2412: tracker query should use bind address 2009-10-22 05:15:34 +00:00
Charles Kerr 459bea37f9 (trunk libT) remove a couple more debugging printf() calls 2009-09-26 13:21:46 +00:00
Charles Kerr 86ada18266 (trunk)
#1699: Announce to multiple trackers at once
#2424: Tracker address is not listed in GTK client.
2009-09-25 21:05:59 +00:00
Charles Kerr 172d64c32c (trunk libT) #2416: possible fix for 'crash in event_queue_insert' on Snow Leopard 2009-09-23 15:28:11 +00:00
Charles Kerr 3524ae637e (trunk libT) sync the announce/scrape timeout intervals in trunk with those in 1.7x 2009-09-08 18:39:20 +00:00
Charles Kerr bd41421591 decide at runtime, rather than compile time, whether to use curl_multi_action 2009-09-08 05:18:46 +00:00
Charles Kerr 786887b147 (trunk libT) tell libcurl to set a time limit of 120 seconds for announces; 30 seconds for scrapes 2009-08-22 23:22:50 +00:00
Charles Kerr cb79214854 (trunk) remove trailing spaces 2009-08-10 20:04:08 +00:00
Charles Kerr 24746cff7f (trunk libT) minor #include futzing 2009-07-01 14:58:57 +00:00
Charles Kerr b2a6def953 (trunk libT) fix small dead code. found by clang static analyzer and reported by d0k 2009-05-13 19:04:14 +00:00
Charles Kerr 03a7251054 (trunk) make it possible to #include "version.h" without having to add -I${TOP}/libtransmission/ to your CFLAGS 2009-04-13 19:04:21 +00:00
Charles Kerr 9e9743c6b1 (trunk libT) re-add the curl "easy queue" from 1.4x to queue libcurl tasks to ameliorate complaints of "too many open files" 2009-04-05 13:00:17 +00:00
Charles Kerr 491a6ac63d (trunk libT) #1844: Prefer curl_multi_socket_action() to curl_multi_perform() in modern versions of libcurl 2009-02-18 16:16:24 +00:00
Charles Kerr 236f8ad2ff (trunk libT) yet another possible fix for the libcurl/libevent/kqueue issue 2009-02-10 18:03:55 +00:00
Erick Turnquist f3a2a35952 (trunk libT) only resolve ipv4 tracker addresses for now 2009-02-07 00:20:47 +00:00
Charles Kerr eb538aa492 (trunk libT) #1748 keep looking for a workaround 2009-02-06 21:14:05 +00:00
Charles Kerr 8572d81e00 (trunk libT) experimental fix for #1748: crash in event_queue_insert in thread1 2009-02-05 22:00:21 +00:00
Charles Kerr 46ff5598a7 (trunk libT) more hoops for Biiaru 2009-02-05 20:53:59 +00:00
Charles Kerr ee58379377 (trunk libT) #1748: judging from Biiaru's testing yesterday after I left, the problem is somewhere in web.c. Let's start by adding some cruel assertions in there. 2009-02-05 14:52:00 +00:00
Charles Kerr adc6791de3 (trunk libT) add more assertions to ensure that the libevent calls are all being made from the same thread 2009-01-28 19:35:39 +00:00
Charles Kerr 0b5558c3e3 (trunk libT) silence curl_easy_setopt -Wunreachable-code warnings 2009-01-24 00:25:11 +00:00
Charles Kerr 4f95edf647 (trunk libT) minor cleanup 2009-01-17 22:49:15 +00:00
Charles Kerr bc2b7fcb03 (trunk libT) minor tweaks to reduce libtransmission shear between trunk and 1.5x 2009-01-16 17:29:42 +00:00
Charles Kerr fe816d8135 (trunk) update the GPL code's copyright dates 2009-01-10 23:09:07 +00:00
Charles Kerr 7683452514 (trunk libT) undo r7645 based on feedback that the experimental code did improve performance. 2009-01-09 19:24:40 +00:00
Charles Kerr f7db63329d (trunk libT) clear out the experimental code that accumulated while trying to find the fix to the tracker-announces-never-finish bug. This revision is 1.42's version plus bugfixes. 2009-01-08 20:35:10 +00:00
Charles Kerr 217d3d3c91 (trunk libT) this diff has held #1631 at bay for 18 hours now... is it finally fixed? :) 2008-12-31 14:28:20 +00:00
Charles Kerr 68ad6f452c (trunk libT) probable fix for #1631 2008-12-30 01:02:53 +00:00
Charles Kerr eff510da18 (trunk libT) simplify web.c's remove_finished_tasks() a bit 2008-12-29 19:02:12 +00:00
Charles Kerr 415f04059f (trunk libT) wrap tr_inf(), tr_msg(), tr_dbg() calls inside a check to see if that debugging level is active. That way that function calls in the vararg list won't be invoked unless that level of verbosity is actually turned on. 2008-12-29 18:11:56 +00:00
Charles Kerr db381a5e40 (trunk libT) revert #7517 since it didn't do any good. disable http connection reuse. 2008-12-29 07:51:09 +00:00
Charles Kerr 1582135e3c (trunk libT) experimental test for #1631 in web.c::setsock() 2008-12-26 20:14:47 +00:00
Charles Kerr dfcc9173e5 (trunk libT) #include "session.h" cleanup from wereHamster 2008-12-23 17:27:15 +00:00
Charles Kerr 9594112d27 updated email address 2008-12-16 00:20:44 +00:00
Charles Kerr 788b397ecc (trunk libT) more semantic cleanup: tr_handle->tr_session, int->tr_bool, int->tr_port 2008-12-14 11:21:11 +00:00
Charles Kerr b9b67ee2c2 (libT) libcurl configuration tweaks 2008-12-02 23:54:26 +00:00
Charles Kerr d12af295c1 use tr_bool instead of C bitfields. (http://blogs.msdn.com/oldnewthing/archive/2008/11/26/9143050.aspx) 2008-11-28 22:11:41 +00:00
Charles Kerr f336aff2e7 (libT) fix a pair of dead store warnings from m1b & clang 2008-11-04 19:40:18 +00:00
Charles Kerr d0ade0358f (libT) #1399: No tracker response result in error: 0 in the log 2008-10-31 19:01:27 +00:00
Charles Kerr 4480da5403 (libT) #1359: Transmission shows no tracker error when unable to contact the tracker 2008-10-29 16:06:14 +00:00
Charles Kerr 98168cb605 (libT) #1359: Transmission shows no tracker error when unable to contact the tracker 2008-10-27 18:00:03 +00:00
Charles Kerr 06939cafa6 (libT) low-hanging fruit discovered from softwareelves' shark profile. 2008-10-26 15:39:04 +00:00
Charles Kerr 7ec84486ee (libT) more win32 portability fixes from Spry 2008-10-20 19:34:19 +00:00
Charles Kerr 071c6733e5 this seems to work pretty well. maybe it's done now? 2008-10-18 15:45:12 +00:00
Charles Kerr 00cfd90bb5 <bullwinkle>this time for sure!</bullwinkle> 2008-10-18 00:20:37 +00:00
Charles Kerr a44f3d75a0 more hacking on libcurl + libevent integration 2008-10-17 20:57:54 +00:00
Charles Kerr 123a5c53a9 Try to hammer out some of the bugs in web.c. This still feels like a work in progress. Also, add a queue for tracker requests so that we don't wind up with 100s of concurrent http requests when there are a lot of torrents. 2008-10-16 05:24:57 +00:00
Mitchell Livingston 96f3939edd 2 arguments were swapped in curl_multi_socket_action() 2008-10-15 23:21:53 +00:00
Charles Kerr 26cac56509 (libT) if a tracker announce succeeds and the tracker's response is a superset of a scrape response, then treat it as a successful announce AND scrape. 2008-10-15 17:53:42 +00:00
Charles Kerr 2f3580cc90 (libT) possible backwards compatability tweak for libcurl < 7.16.3 2008-10-15 17:12:53 +00:00
Charles Kerr 0b991a55c7 (libT) try again to get the libevent+libcurl code working 2008-10-15 16:43:51 +00:00
Charles Kerr 88ce8a5c44 more changes inspired by spry's `winport' code: for portability, use the standard __VA_ARGS__ macro for variadic macros instead of the CPP extensions. 2008-10-13 22:45:05 +00:00
Charles Kerr b824c704b7 first batch of portability changes based on spry's winport:
(1) added tr_getcwd(), a simple portability wrapper for getcwd()
(2) cli: show the help page if no command-line arguments are provided
(3) daemon: use tr_wait() intead of sleep()
(4) daemon: SIGQUIT, SIGPIPE, SIGHUP aren't defined on windows
(5) libtransmission: a couple of small cleanups to bencode.c, list.c, web.c
(6) libtransmission: win32 portability fixes to platform.c
2008-10-13 22:26:02 +00:00
Charles Kerr cc89872dd4 run libT, cli, daemon, gtk through the source-code formatter "uncrustify" as promised/threatened 2008-09-23 19:11:04 +00:00
Charles Kerr 419242e36f (libT) change benc's integral type from int to size_t, squashing a couple of minor warnings 2008-09-04 14:42:32 +00:00
Charles Kerr 8c421bd0ec pump the web connections more frequently when there are tasks pending. this may speed up the shutdown flurry of `stop' announcements 2008-09-03 19:13:19 +00:00
Charles Kerr a11aac24ca (libT) add an environmental variable to enable libcurl verbosity 2008-08-22 19:14:19 +00:00
Charles Kerr 98e1b995e0 possible fix for #1134: revert libtransmission/web.c back to r6354 2008-08-06 23:33:29 +00:00
Charles Kerr 9006f75edb #1117: crash on exit in curl_multi_socket_action() 2008-07-29 18:53:41 +00:00
Charles Kerr 703f96aeb3 #1122: faster http processing 2008-07-29 00:51:07 +00:00
Charles Kerr 2eb89eb2a7 (libT) fix some minor warnings foudn by clang's scan-build and reported by m1b 2008-07-17 20:33:34 +00:00
Charles Kerr 7974a1e50a (libT) add proxy port arg as requested by BentMyWookie 2008-07-15 01:03:03 +00:00
Charles Kerr af8e44a5e7 maybe *now* 1.30 is feature complete: by popular demand, add proxy support for SOCKS4/SOCKS5. This will break the mac build temporarily. 2008-06-11 20:45:53 +00:00
Charles Kerr b94893a4c9 wire up the backend proxy support. 2008-06-10 16:16:31 +00:00
Charles Kerr e3e3bee8b5 #800 initial support for GetRight-style fetching of data through http and ftp servers specified in the .torrent's "url-list" tag 2008-06-07 21:26:41 +00:00
Charles Kerr f861f39711 maybe fix the tracker authentication problems reported by demio 2008-06-05 16:35:33 +00:00
Charles Kerr fb8dccf179 undo the curl timeout option from earlier today 2008-05-09 04:00:14 +00:00
Charles Kerr 20986a5dac raise the timeout interval that we tell curl to use 2008-05-08 17:15:06 +00:00
Charles Kerr f48b2b24e9 tell webcurl to timeout tracker requests after 30 seconds 2008-05-08 17:05:43 +00:00
Charles Kerr 6ba02efb58 #915: Does too many wake-ups when idle 2008-05-06 15:52:57 +00:00
Charles Kerr 1dfc98fc77 fix another crash-on-shutdown in the new web code 2008-04-28 13:29:38 +00:00
Charles Kerr 3f71ea1f51 fix one of the crash-on-shutdown bugs reported by Gimp_ 2008-04-27 18:27:32 +00:00
Charles Kerr b8fc148fe0 experiment to lower CPU for Gimp_ 2008-04-27 17:22:37 +00:00
Charles Kerr b66af4ab07 curl_easy_getopt(CURLINFO_RESPONSE_CODE) needs a pointer to a long, not an int. 2008-04-27 07:15:20 +00:00
Charles Kerr c4fc897b38 steal some curl configuration options from rtorrent :) 2008-04-25 23:54:02 +00:00
Charles Kerr 03572a0ad5 add tr_webClose() 2008-04-25 19:46:36 +00:00