Commit Graph

242 Commits

Author SHA1 Message Date
Jordan Lee 1b825079be (trunk libT) API cleanup of the tr_address functions to make them more consistent.
This is loosely related to #2910, but only in the sense of laying the groundwork for #2910's fix...
2011-03-25 05:34:26 +00:00
Jordan Lee 375694eda9 (trunk) copyediting: remove some unneeded #includes, and annotate some needed ones 2011-03-24 21:49:42 +00:00
Jordan Lee b4d36aeb54 (trunk) #4138 "use stdbool.h instead of tr_bool" -- done. 2011-03-22 15:19:54 +00:00
Jordan Lee 9e07e19b05 (trunk libT) #4085 "transmission crashed when adding a new torrent: assert failed" -- possible fix? 2011-03-05 16:29:19 +00:00
Jordan Lee 3fdd80eb0d (trunk libT) new function: tr_ssToAddr()
This handles converting the data in a sockaddr_storage to a tr_address + port, and removes redundant code from fdlimit.c and tr-udp.c that previously did this work.
2011-03-04 21:00:52 +00:00
Jordan Lee 0cf05fdffd (trunk libT) add an "existing dir" argument to tr_fdFileCheckout().
existing_dir: An ancestor of filename which must already exist and won't be created by tr_fdFileCheckout(). In implementation this is the download directory and prevents directories from being created in error, such as a mount point for an external drive when the drive is unplugged.
2011-03-03 19:59:12 +00:00
Jordan Lee 2b8124d3ad (trunk) #4019 "Minor patch, kill useless casts in transmission source." -- fixed. patch by jlouis
jlouis used Coccinelle to scan transmission's source for redundant code that casts a type to its own type.
2011-02-12 17:27:47 +00:00
Jordan Lee 3f9886c3dd (trunk libT) silence compiler warning in libtransmission/fdlimit.c: "ignoring return value of ‘ftruncate’, declared with attribute warn_unused_result" 2011-02-09 05:34:23 +00:00
Jordan Lee 22660ed751 (trunk libT) #3973 "JIT verification verifies fresh downloaded torrents" -- improvement to r11813.
r11813 fixed the timestamp issue by fsync()ing files before close()ing them in tr_close_file(). This causes a little overhead as even read-only files cause a sync as their atimes are modified. Instead, we should call fsync() further back in the call chain in tr_fdFileClose() so that we can know to only sync torrent files that were opened with write access.
2011-02-02 23:29:17 +00:00
Jordan Lee 4bf6f0ac40 (trunk libT) #3973 "JIT verification verifies fresh downloaded torrents" -- win32 portability fix for r11813.
fsync() doesn't exist on Windows. bencode had a private function, tr_fsync(), that is a portability wrapper around fsync() on *nix and _commit() on win32. Make this function package-visible, rather than private, so fdlimit.c can use it too.
2011-02-02 23:19:54 +00:00
Jordan Lee 5fc1ff8855 (trunk libT) #3973 "JIT verification verifies freshly-downloaded torrents" -- test fix.
Files downloaded in Transmission 2.20 betas [1..3] forced each piece to be checked twice -- once on download, and once when uploading the piece for the first time. Older versions of Transmission didn't perform the latter check unless the file had changed after it was downloaded. This commit restores that behavior.
2011-02-02 20:30:04 +00:00
Jordan Lee 879a2afcbd Update the copyright year in the source code comments.
The Berne Convention says that the copyright year is moot, so instead of adding another year to each file as in previous years, I've removed the year altogether from the source code comments in libtransmission, gtk, qt, utils, daemon, and cli.

Juliusz's copyright notice in tr-dht and Johannes' copyright notice in tr-lpd have been left alone; it didn't seem appropriate to modify them.
2011-01-19 13:48:47 +00:00
Jordan Lee 1cd74312ba (trunk libT) minor code cleanup in fdlimit.c 2011-01-07 00:17:13 +00:00
Jordan Lee d18b1bda05 (trunk) #3875 "Typo: missing gettext macro _ in recent commit" -- fix r11602 regression discovered by ijuxda 2011-01-06 01:05:13 +00:00
Charles Kerr d16a424f76 (trunk libT) more fdlimit futzing 2010-12-28 08:38:55 +00:00
Charles Kerr a04f92729e (trunk libT) refactor libtransmission's file cache 2010-12-28 07:24:10 +00:00
Charles Kerr e5bb3205a1 (trunk) Join the 21st century and use only 1 space at the end sentences. This commit is nearly as important as the semi-annual ones that remove trailing spaces from the ends of lines of code... :) 2010-12-27 19:18:17 +00:00
Charles Kerr f713451647 (trunk libT) #3531 "Pausing 500 torrents uses 650 MB of memory" -- on OS X, when saving a benc/json file, send a hint to the OS to not cache the file. 2010-12-17 15:36:31 +00:00
Charles Kerr a9d0190a0e (trunk libT) #3826 "all data fails its checksum test in uClibc 0.9.27" -- refinement of r11530 based on research by iz0bbz to find which version of uClibc added a fix. 2010-12-14 14:41:23 +00:00
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