On Mon, Mar 27, 2006 at 07:30:07PM -0500, Adam Ringel wrote:
> 19561:  read(7, 0x002840D5, 48)             = 48
> 19561:    B7 ?BC85DA04 V k v\n11 p * ! y83 rC2E5A4 "C1F5948DFE0EF7 k ,87 j
> 19561:     E9AC98D0F }83 = 007\t9DDFF4DB10
> 19561:  write(7, 0x00292200, 59)            = 59
> 19561:    140301\00101160301\0 08816 ,8A qF518AFA5 I uB99EFA j 7F596 ?87A1
> 19561:     | D > o "869ECF ? p9683B3D7 nE680 71C18ECD7 a O8FEB l
> 19561:  read(4, 0x00251F30, 5)              Err#11 EAGAIN
> 19561:  poll(0x00245820, 1, 300000) (sleeping...)

Please test attached patch. I'm not sure yet what causes the hang, but this
can be a reason.

--
   Alexander.
Index: ftpclass.cc
===================================================================
RCS file: /home/lav/cvsroot/lftp/src/ftpclass.cc,v
retrieving revision 1.378
diff -u -p -r1.378 ftpclass.cc
--- ftpclass.cc 16 Feb 2006 08:03:32 -0000      1.378
+++ ftpclass.cc 28 Mar 2006 09:51:32 -0000
@@ -3118,7 +3118,10 @@ int   Ftp::SendEOT()
       return(DO_AGAIN);
 
    if(!conn->data_iobuf->Eof())
+   {
       conn->data_iobuf->PutEOF();
+      conn->data_iobuf->Timeout(0);
+   }
 
    if(!conn->data_iobuf->Done())
       return(DO_AGAIN);

Reply via email to