This commit resolves a scgi software crash when the scgi socket is closed before the message can be sent. It instructs `::send()` not to send a SIGPIPE termination signal. Instead the value -1 is returned and handled bellow. The SCgiTask is closed and a new one is sent to complete the task.
```
Thread 3 "rtorrent scgi" received signal SIGPIPE, Broken pipe.
[Switching to Thread 0x7fffe635c6c0 (LWP 2443872)]
0x00007ffff7929a84 in send () from /lib/x86_64-linux-gnu/libc.so.6
```
Author: kannibalox <kannibalox@gmail.com>
Date: Mon Jun 10 13:09:29 2024 -0400
Use regular iterators intead of bucket-local ones
Trying to manually predict which bucket a hashed key will land in does not
appear to be well-defined behavior.
Fixes#1285
* Properly clear the queued events during closing of a socket by checking for the file descriptor, not the ptr.
* SCGI m_task queue could overflow since the check was not working.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1246 e378c898-3ddf-0310-93e7-cc216c733640
* Added '<foo_list>.push_back' to all list objects in object_storage.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1242 e378c898-3ddf-0310-93e7-cc216c733640
* Added 'd.timestamp.finished' that is set when a downloading torrent completes. For torrents that only seed it remains '0'.
* Added 'elapsed.{less,greater}' for checking the time elapsed since a time is less/greater, and it also returns false in all cases where the time is '0'.
* Fixed a bug that would cause hash checking to block exessively in some cases.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1233 e378c898-3ddf-0310-93e7-cc216c733640
* Removed std::tr1:: in favor of std:: using namespace.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1202 e378c898-3ddf-0310-93e7-cc216c733640
* Fixed a bad conditional that would result in write syscall being called with -1 for logging executing external commands.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1201 e378c898-3ddf-0310-93e7-cc216c733640
print = (convert.time,(system.time))
schedule2 = test_print_2,2,2,((print,"current ",((convert.time,((system.time))))))
Multiple parantheses need to be used in schedule to ensure the command doesn't get evaluated at the time of calling schedule.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1191 e378c898-3ddf-0310-93e7-cc216c733640
* Added LT_SLIM_VERSION option that will leave out unneeded command redirects from the build.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1183 e378c898-3ddf-0310-93e7-cc216c733640