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