changeset 512:2c8a42a63a31

2004-7-25 Brian Masney <masneyb@gftp.org> * lib/protocols.c (gftp_get_transfer_status) - don't force the user to wait to reconnect if the connection to the server timed out
author masneyb
date Sun, 25 Jul 2004 14:25:27 +0000
parents c3ff4479a92d
children cb882efd4d6d
files ChangeLog lib/protocols.c
diffstat 2 files changed, 7 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sun Jul 25 14:15:00 2004 +0000
+++ b/ChangeLog	Sun Jul 25 14:25:27 2004 +0000
@@ -1,4 +1,7 @@
 2004-7-25 Brian Masney <masneyb@gftp.org>
+	* lib/protocols.c (gftp_get_transfer_status) - don't force the user to
+	wait to reconnect if the connection to the server timed out
+
 	* src/gtk/transfer.c - when spawning a thread to get the
 	subdirectories, don't refresh the local directory listing. Also added
 	custom connect/disconnect functions so that timeouts can be handled
@@ -2618,7 +2621,7 @@
 
 	* cvsclean - added this script
 
-	* *.[ch] - added $Id: ChangeLog,v 1.289 2004/07/25 14:15:00 masneyb Exp $ tags
+	* *.[ch] - added $Id: ChangeLog,v 1.290 2004/07/25 14:25:27 masneyb Exp $ tags
 
 	* debian/* - updated files from Debian maintainer
 
--- a/lib/protocols.c	Sun Jul 25 14:15:00 2004 +0000
+++ b/lib/protocols.c	Sun Jul 25 14:25:27 2004 +0000
@@ -2798,7 +2798,7 @@
     {
       if (num_read == GFTP_EFATAL)
         return (GFTP_EFATAL);
-      else if (!tdata->conn_error_no_timeout)
+      else if (num_read != GFTP_ETIMEDOUT && !tdata->conn_error_no_timeout)
         {
           if (retries != 0 && 
               tdata->current_file_retries >= retries)
@@ -2822,7 +2822,8 @@
       while (retries == 0 || 
              tdata->current_file_retries <= retries)
         {
-          if (!tdata->conn_error_no_timeout && !tdata->skip_file)
+          if (num_read != GFTP_ETIMEDOUT && !tdata->conn_error_no_timeout &&
+              !tdata->skip_file)
             {
               tv.tv_sec = sleep_time;
               tv.tv_usec = 0;
@@ -2833,8 +2834,6 @@
                 }
               while (ret1 == -1 && errno == EINTR);
             }
-          else
-            tdata->conn_error_no_timeout = 0;
 
           if ((ret1 = gftp_connect (tdata->fromreq)) == 0 &&
               (ret2 = gftp_connect (tdata->toreq)) == 0)