innfeed (0.10.1.7-8) connection.c

Summary

 connection.c |   10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

    
download this patch

Patch contents

--- innfeed-0.10.1.7.orig/connection.c
+++ innfeed-0.10.1.7/connection.c
@@ -2257,7 +2257,7 @@
     }
   else
     {
-      syslog (LOG_WARNING, ARTICLE_TIMEOUT_MSG, peerName, cxn->ident) ;
+      syslog (LOG_NOTICE, ARTICLE_TIMEOUT_MSG, peerName, cxn->ident) ;
       cxn->state = cxnIdleTimeoutS ;
       cxnFlush (cxn) ;
     }
@@ -2983,7 +2983,9 @@
       cxn->checkRespHead = NULL ;
     }
 
-  if (cxn->articleQTotal == 0)
+  /* Some(?) hosts return the 436 response even before we're done
+      sending */
+  if (cxn->articleQTotal == 0 && !writeIsPending(cxn->myEp))
     cxnIdle (cxn) ;
   
   hostArticleDeferred (cxn->myHost, cxn, artHolder->article) ;
@@ -3032,7 +3034,9 @@
   artHolder = cxn->takeRespHead ;
   cxn->takeRespHead = NULL ;
 
-  if (cxn->articleQTotal == 0)
+  /* Some(?) hosts return the 437 response even before we're done
+      sending */
+  if (cxn->articleQTotal == 0 && !writeIsPending(cxn->myEp))
     cxnIdle (cxn) ;
 
   hostArticleRejected (cxn->myHost, cxn, artHolder->article) ;