Commit Graph

223 Commits

Author SHA1 Message Date
Charles Kerr 6e52ccb239 (trunk libT) #3826 "don't use pread() or pwrite() on uclibc" -- fixed. 2010-12-14 05:07:06 +00:00
Charles Kerr 9335e02e6d (trunk libT) add some new bugs to the code so that it will crash when vraa tries to use it 2010-11-11 15:31:11 +00:00
Charles Kerr 01ab067e9c (trunk libT) #3662 "libtransmission cpu optimization: fewer calls to tr_time_msec()" -- fixed. 2010-10-24 01:08:08 +00:00
Charles Kerr 6c3d651ffe (trunk) #3618 "FreeBSD 8.1 & GCC 4.2.1 compiler warnings" -- fix some compiler warnings. 2010-10-11 21:44:46 +00:00
Charles Kerr 6f5c9dcafb (trunk libt) rename tr_date() as tr_time_msec() for clarity 2010-07-11 20:49:19 +00:00
Charles Kerr acd27a8c3b (trunk libT) #3371 "experimental use of F_NOCACHE to ameliorate inactive memory on OS X" 2010-06-27 17:44:34 +00:00
Charles Kerr 08628333d1 (trunk libT) part of rb07's win32 portability patches from ticket #3311 2010-06-21 16:44:35 +00:00
Charles Kerr 99318552eb call fcntl(F_NOCACHE,1) right before closing a local datafile. Does it have any effect? Who knows. 2010-06-21 13:08:04 +00:00
Charles Kerr 872291cd62 (trunk libT) make tr_pwrite()'s "buf" argument const 2010-05-22 00:09:36 +00:00
Charles Kerr 40a9133ced (trunk libT) remove dead code 2010-05-20 14:05:27 +00:00
Charles Kerr 7936f0d5d1 (trunk libT) clean up #includes for event.h and evutil.h 2010-05-19 16:17:51 +00:00
Charles Kerr 8e85b1c6e5 (trunk libT) fdlimit.[ch] MIT -> GPL. There's not any MIT code left there. 2010-05-17 16:41:59 +00:00
Charles Kerr 0051b8a110 re-tweak the previous commit based on feedback from kklimonda 2010-05-06 17:02:31 +00:00
Charles Kerr 2ea9f78eff (trunk libT) tweak MAX_PATH_LENGTH a little for better portability -- defer to limits.h's definition when present 2010-05-06 15:07:18 +00:00
Charles Kerr 99d53d7ef7 (trunk libT) #2849 "when possible, use fallocate64() for file preallocation" -- do this even when sparse preallocation mode is selected. 2010-03-09 16:19:59 +00:00
Charles Kerr b850349479 (trunk) #2993 "'Downloaded' much greater than 'Have' or 'verified'" -- add new congestion-based throttle for 2.0 2010-03-08 04:29:58 +00:00
Charles Kerr c55788acac (trunk libT) add an fsync() before closing files 2010-03-07 06:14:04 +00:00
Charles Kerr 9194325c95 (trunk libT) messages about SO_SNDBUF size and file preallocation should probably be debug messages rather than visible-by-default info messages... 2010-02-08 04:43:56 +00:00
Charles Kerr de2d0154e7 (trunk libT) #2849 "When possible, use fallocate64() for file preallocation" -- implemented for 1.90 2010-02-02 03:01:25 +00:00
Charles Kerr a334b422c3 (trunk) remove unnecessary #includes 2010-01-28 13:33:40 +00:00
Charles Kerr 6ce8085243 (trunk) housekeeping: (1) add standard svn properties for $Id$ substitution in some files (2) add #include guards in a couple of libtransmission headers (3) refresh build instructions in README 2010-01-14 14:20:49 +00:00
Charles Kerr 86a5e6be8a (trunk libT) fix assertion-on-shutdown failure reported by livings 2010-01-13 01:21:26 +00:00
Charles Kerr 6076d7c6bd (trunk libT) add <stdarg.h> call before <evutil.h> to get 1.80 building on Fedora 11 2010-01-09 07:24:47 +00:00
Charles Kerr 182cbb8b90 (trunk) one of the less-interesting commits in a while: remove trailing spaces from lines 2010-01-05 23:47:50 +00:00
Charles Kerr 6b8fb48d64 (trunk libT) replace the TR_INLINE macro with the standard "inline" keyword, since we require inline functions anyway 2010-01-01 22:26:35 +00:00
Charles Kerr 8bc90ca644 (trunk libT) fix crash in tr_fdSocketClose() reported by agsystem in the forums @ http://forum.transmissionbt.com/viewtopic.php?p=42993&f=1#p42993 2009-12-26 23:52:59 +00:00
Mitchell Livingston a7245651f2 avoid an extra comparison caused by macro expansion 2009-12-21 22:03:19 +00:00
Mitchell Livingston 25a023023f eliminate the clamp function for now, allow peer connections once again 2009-12-21 14:30:43 +00:00
Charles Kerr a653d37225 (trunk libT) possibly reduce the frequency of the "too many open files" errors 2009-12-18 07:05:36 +00:00
Charles Kerr da7ab27ae2 (trunk libT) add SO_SNDBUF, SO_RCVBUF logging messages 2009-11-29 08:53:14 +00:00
Mitchell Livingston 185728c66c remove unused variable 2009-11-09 13:29:02 +00:00
Charles Kerr 3759c98d76 (trunk libT) #2551 "better buffer cache management": apply jch's prefetch-base.patch 2009-11-08 23:43:38 +00:00
Charles Kerr 858e691381 (trunk libT) add a wrapper function, tr_netCloseSocket(), around EVUTIL_CLOSESOCKET() so that not all of our code has to #include evutil 2009-10-27 20:27:27 +00:00
Charles Kerr c85ee09fef (trunk) trunk's just been too stable lately. #2119: reload settings.json on SIGHUP 2009-10-23 03:41:36 +00:00
Charles Kerr c59ae60488 libT doesn't need to create the Incomplete directory until it's needed 2009-10-21 19:33:37 +00:00
Charles Kerr eef6177f0a (trunk libT) #1483: fix bug introduced in r9328 2009-10-20 20:19:41 +00:00
Charles Kerr 05c77cc975 (trunk) #1483: move completed torrents to a user-specified directory + #629: different file extension for incomplete files 2009-10-19 05:05:00 +00:00
Charles Kerr c7e2a29f57 add better logging to track down tr_ioRead() error messages reported by Rabbitbunny 2009-09-08 06:25:40 +00:00
Erick Turnquist fbfaeda8df (trunk libT): do EAFNOSUPPORT check on socket() errno on all platforms 2009-08-17 18:49:21 +00:00
Charles Kerr 1c5b344c85 (trunk libT) remove dead code noticed by geirha 2009-08-15 15:52:10 +00:00
Charles Kerr cb79214854 (trunk) remove trailing spaces 2009-08-10 20:04:08 +00:00
Charles Kerr 12f8339406 (trunk libT) remove dead code 2009-07-17 17:23:03 +00:00
Eric Petit 67440b9286 Don't assume that errnos are positive (they are not on Haiku), and
pass them on through an additional parameter if needed
2009-07-09 18:14:33 +00:00
Charles Kerr 5917436e60 (trunk libT) remove dead code 2009-07-04 04:33:23 +00:00
Charles Kerr 1104a4bf4d (trunk libT) dead code removal 2009-07-03 19:45:29 +00:00
Charles Kerr 587ddb48f0 (trunk libT) #2228: transmission should learn to truncate files on updating torrents 2009-06-21 07:53:51 +00:00
Charles Kerr ef9896e223 (trunk libT) more efficient closing of a torrent's open files 2009-06-21 07:36:51 +00:00
Charles Kerr 45f1316bce (trunk libT) #2196: add a fallback implementation of preallocateFileFull() in case the os-specific and fs-specific approaches don't work. 2009-06-16 17:10:47 +00:00
Erick Turnquist 1c7ac5bea0 (trunk libT) fix "dereferencing pointer does brea strict-aliasing rules" warning 2009-06-15 05:16:36 +00:00
Charles Kerr e082548030 (trunk) remove the test for fallocate(), since we used posix_fallocate() as a fallback anyway. <http://www.lucas-nussbaum.net/blog/?p=332> says: "Glibc does have posix_fallocate(), which implements the POSIX interface. posix_fallocate() is wired to use the fallocate system call, for sufficiently modern versions of glibc." 2009-06-14 18:32:09 +00:00
Charles Kerr dfc6e904d0 (trunk libT) fix copy/paste error in tr_fdAccept() 2009-06-08 14:50:56 +00:00
Charles Kerr 3f03f2e0c3 (trunk libT) #2151: possible fix for "Unusually high CPU usage in latest builds" issue 2009-06-06 16:19:34 +00:00
Charles Kerr ea93eab02d (trunk libT) on platforms that support it, use POSIX_FADV_SEQUENTIAL instead of POSIX_FADV_RANDOM. (http://trac.transmissionbt.com/ticket/1521#comment:25) 2009-05-31 21:20:49 +00:00
Charles Kerr 29b1d3e2cc (trunk) #920: add "move data" to libT so all clients can use it 2009-05-13 15:54:04 +00:00
Charles Kerr a0597ec8fb (trunk libT) clean up the debugging messages added to smoke out #2030 2009-05-07 13:03:39 +00:00
Charles Kerr 091abed323 (trunk libT) do for tr_close_file() what r8348 did for tr_open_file_for_scanning() 2009-05-07 11:54:09 +00:00
Charles Kerr c1a8c7363a (trunk libT) possible fix for #2030 2009-05-06 19:06:19 +00:00
Charles Kerr 1ee9ce9da7 (trunk libT) remove some oddness in tr_open_file_for_scanning() 2009-05-06 13:33:40 +00:00
Charles Kerr b52ae72009 (trunk libT) prevent stupid double-close error introduced a few minutes ago :/ 2009-04-26 21:00:58 +00:00
Charles Kerr 698aa192aa (trunk libT) convert tr_open_file_for_scanning() and tr_close_file() to use file descriptors instead of file pointers so that we don't have to mix and match between them 2009-04-26 20:44:18 +00:00
Charles Kerr 75520acd38 (trunk libT) tweak tr_open_file_for_scanning() on OS X for sequential, non-cached reading suitable for verify() and tr_fileLoad() 2009-04-26 19:50:31 +00:00
Charles Kerr d99438bd1c (trunk libT) need feedback from Mac users on this change. On Linux, it gets rid of the inactive-memory-grows-during-torrent-verification behavior that's often reported as a bug. 2009-04-26 00:51:51 +00:00
Charles Kerr 2b8f8166bd (trunk libT) possible IO speedup on OS X based on feedback from ticket #1967 2009-04-10 14:26:01 +00:00
Charles Kerr 2877eddd58 (trunk libT) experimental commit to reduce IO lag during fast downloads 2009-04-10 00:58:26 +00:00
Charles Kerr 87e4c99fbb (trunk libT) #1976: build problem with r8173: "erreur: ‘POSIX_FADV_SEQUENTIAL’ undeclared" 2009-04-07 20:25:32 +00:00
Charles Kerr 1e327f593d (trunk libT) #1966: add explicit support for preallocating files on XFS filesystems 2009-04-05 14:04:07 +00:00
Charles Kerr c3b24bc471 (trunk) modify tr_torrentParse() and tr_torrentNew() arguments s.t. they use the ctor's session instead of passing it in again. Allow a NULL session pointer for some cases of tr_torrentParse(). 2009-04-02 17:30:29 +00:00
Charles Kerr 1e8c374fd5 (trunk libT) fsync busy files every 15 seconds or so. On linux, use posix_fadvise() to tell the system no to cache torrent blocks 2009-01-26 00:36:34 +00:00
Charles Kerr 9d7c74cc8a (trunk libT) try again to make hudson-t happy wrt posix_fadvise() 2009-01-25 23:47:07 +00:00
Charles Kerr 3b7494efd2 (trunk libT) possibly make hudson-t happy on Linux 2009-01-25 23:40:08 +00:00
Charles Kerr 00125c9726 (trunk libT) add mac, linux, and win32 support for os-level hints that local data will be read in random order, to disable readahead buffering. 2009-01-25 23:33:10 +00:00
Charles Kerr 5ea9bcacbc (trunk libT) fix a minor memory leak. 2009-01-18 15:15:10 +00:00
Charles Kerr c1e1fedff9 (trunk libT) check in some of the extra error logging messages developed last night while chasing down the problem denis found 2009-01-17 15:08:20 +00:00
Charles Kerr c99f941d16 (trunk libT) make file preallocation optional via settings.json. choices are: full, sparse, and none 2009-01-16 16:38:16 +00:00
Charles Kerr 55aa6d834f (trunk libT) make the default number of open files 32 rather than 16, and make it configurable via settings.json. (Reported by Lucius Windschuh via denis_) 2009-01-08 19:20:24 +00:00
Charles Kerr d463cdb509 (trunk libT) eliminate a couple more unnecessary malloc() + free() pairs 2008-12-30 03:29:09 +00:00
Erick Turnquist a68764fcba (trunk libT) Don't log two "errors" we expect to see from time-to-time.
EAFNOSUPPORT: On OS X, socket() incorrectly throws EAFNOSUPPORT for certain
IP/Port combinations. There is nothing we can do about this.

ENETUNREACH: #1606 is evidence that some trackers return IPv6 peers when
contacted over IPv4. This code will silently ignore "network unreachable"
errors for IPv6 connections.
2008-12-20 08:51:32 +00:00
Charles Kerr 54be88dec3 (trunk libT) add ipv6 support by jhujhiti. I think this is the largest user-contributed patch we've ever used... thanks jhujhiti :) 2008-12-15 00:17:08 +00:00
Mitchell Livingston 31482813b9 BeOS and Amiga support is, at least for now, a lost cause and hasn't worked for long over a year - removing from the source (if you for whatever unknown reason still need this, get it through SVN) 2008-12-02 03:57:01 +00:00
Charles Kerr 0d5fed6442 (libT) re-apply jhujhiti's IPv6 patch. This merges in my tr_port cleanup, so any new bugs are mine :/ 2008-12-02 03:41:58 +00:00
Charles Kerr a14621c363 (libT) janitorial: use the tr_port type whenever we have a `port' as a function argument or as a field in a struct. 2008-12-01 20:51:01 +00:00
Charles Kerr 7fa9813955 (libT) #252: revert r7195 (jhujhiti's IPv6 test patch). It seems to be the culprit in a `thrashing' issue reported by Waldorf and m1b in irc -- the behavior appeared between r7183 and r7187 -- so this commit is to trigger off a nightly build w/o the patch to test with in irc. 2008-12-01 20:21:06 +00:00
Charles Kerr a2ad4f6543 (libT) patch from jhujhiti to add ipv6 support. 2008-11-30 00:47:18 +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 aee1a0b9a0 (libT) revert r7099 based on forum feedback @ <http://forum.transmissionbt.com/viewtopic.php?f=4&t=6485> 2008-11-23 17:05:44 +00:00
Charles Kerr 6116a00c0b (libT) #1482: fix another win32-related preallocate bug. Thanks to Spry and Lubomir for fixing my bugs. ;) 2008-11-19 17:48:24 +00:00
Charles Kerr 65ec586835 (libt) #1482: libtransmission/fdlimit.c preallocateFile uses undeclared desiredFileSize on WIN32 2008-11-19 16:06:31 +00:00
Charles Kerr 10714dc224 (libT) get file preallocation working on Windows by copying how fsutil does it. (source: http://social.msdn.microsoft.com/forums/en-US/vclanguage/thread/4dabec8e-2909-40b3-b398-66bd4c587b9b/) 2008-11-15 19:59:18 +00:00
Charles Kerr 36019841b8 (libT) don't use getrlimit() / setrlimit() anymore. this doesn't do much good and could possibly do harm wrt fighting with libcurl for available sockets. 2008-11-12 04:05:27 +00:00
Charles Kerr 0e79d23b2c (libT) better testing for fallocate() on linux 2008-11-12 03:59:30 +00:00
Charles Kerr 10566eece9 (libT) #849: preallocate files when possible to prevent disk fragmentation 2008-11-05 05:56:06 +00:00
Charles Kerr 06939cafa6 (libT) low-hanging fruit discovered from softwareelves' shark profile. 2008-10-26 15:39:04 +00:00
Charles Kerr 67282cb794 further win32 portability fixes from Spry 2008-10-19 17:43:04 +00:00
Charles Kerr b5c2f14387 (libT) dead code removal 2008-10-14 20:44:41 +00:00
Charles Kerr c2ddf1b2fe fix oops 2008-10-14 04:51:42 +00:00
Charles Kerr b04be5fb2e make MAX_PATH_LENGTH private to libtransmission. add tr_dirname() and tr_basename() utility / portability wrappers 2008-10-14 03:39:16 +00:00
Charles Kerr e3a5524189 have tr_buildPath() allocate memory from the heap rather than using an input buffer 2008-10-14 03:03:29 +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 4fab4c9e9b (libT) finish killing tr_errno. 2008-10-03 04:49:06 +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