]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Bug 3351: FTP timeout causing "store_status == STORE_PENDING" assertion
authorAlex Rousskov <rousskov@measurement-factory.com>
Thu, 22 Sep 2011 15:23:11 +0000 (09:23 -0600)
committerAlex Rousskov <rousskov@measurement-factory.com>
Thu, 22 Sep 2011 15:23:11 +0000 (09:23 -0600)
If the entry was aborted while we were timing out, do not attempt to
write the timeout error message to it.

TODO: Other FTP code should call abortOnBadEntry() instead of testing for
ENTRY_ABORTED and calling abortTransaction().

src/ftp.cc

index 17eac333c2acd81366d3bd5de2a5c00910b6d1dc..e474b0fbbfd13a4df050b30a2f4816c77702889d 100644 (file)
@@ -669,6 +669,9 @@ FtpStateData::ftpTimeout(const CommTimeoutCbParams &io)
 {
     debugs(9, 4, HERE << io.conn << ": '" << entry->url() << "'" );
 
+    if (abortOnBadEntry("entry went bad while waiting for a timeout"))
+        return;
+
     if (SENT_PASV == state && io.conn->fd == data.conn->fd) {
         /* stupid ftp.netscape.com */
         flags.pasv_supported = false;