commit: r362 - in trunk: daemon libspread

[email protected]
Newsgroups gmane.network.spread.cvs
Message-ID <[email protected]>
Author: jonathan
Date: 2006-11-14 00:54:11 -0500 (Tue, 14 Nov 2006)
New Revision: 362

Modified:
   trunk/daemon/Changelog
   trunk/libspread/sp.c
Log:
Fix bug where tv_sec field was used in SP_connect instead
of tv_usec. Reported several times, original patch by Daniel Savarese.



Modified: trunk/daemon/Changelog
===================================================================
--- trunk/daemon/Changelog	2006-11-14 05:22:24 UTC (rev 361)
+++ trunk/daemon/Changelog	2006-11-14 05:54:11 UTC (rev 362)
@@ -1,3 +1,8 @@
+Tue Nov 14 00:38:14 2006  Jonathan Stanton  <[email protected]>
+
+	* sp.c (connect_nointr_timeout): Fix bug where tv_sec was
+	used instead of tv_usec. Patch supplied by Daniel Savarese.
+
 Mon Nov 13 19:30:30 2006  Jonathan Stanton  <[email protected]>
 
 	* groups.c (G_compare_daemon_vs_set): Fix compile warning

Modified: trunk/libspread/sp.c
===================================================================
--- trunk/libspread/sp.c	2006-11-14 05:22:24 UTC (rev 361)
+++ trunk/libspread/sp.c	2006-11-14 05:54:11 UTC (rev 362)
@@ -271,14 +271,14 @@
                 FD_SET(s, &fixed_rset);
                 rset = fixed_rset;
                 sel_time.tv_sec = wait_time.sec;
-                sel_time.tv_sec = wait_time.usec;
+                sel_time.tv_usec = wait_time.usec;
                 while( ((num_ready = select(s+1, &rset, NULL, NULL, &sel_time)) == -1) && ((sock_errno == EINTR) || (sock_errno == EAGAIN) || (sock_errno == EWOULDBLOCK)) )
                 {
                         temp_time = E_get_time();
                         if (E_compare_time(temp_time, target_time) < 0 ) {
                                 wait_time = E_sub_time(target_time, temp_time);
                                 sel_time.tv_sec = wait_time.sec;
-                                sel_time.tv_sec = wait_time.usec;
+                                sel_time.tv_usec = wait_time.usec;
                         } else {
                                 printf("recv_nointr_timeout: Timed out when interrupted\n");
                                 sock_set_errno( ERR_TIMEDOUT );
@@ -328,7 +328,7 @@
         target_time = E_add_time(start_time, *time_out);
         wait_time = *time_out;
         sel_time.tv_sec = wait_time.sec;
-        sel_time.tv_sec = wait_time.usec;
+        sel_time.tv_usec = wait_time.usec;
         /* set file descriptor to non-blocking */
         on = 1;
         ret_ioctl = ioctl( s, FIONBIO, &on);
@@ -352,7 +352,7 @@
             if (E_compare_time(temp_time, target_time) < 0 ) {
                 wait_time = E_sub_time(target_time, temp_time);
                 sel_time.tv_sec = wait_time.sec;
-                sel_time.tv_sec = wait_time.usec;
+                sel_time.tv_usec = wait_time.usec;
             } else {
                 Alarmp( SPLOG_WARNING, SESSION, "connect_nointr_timeout: connect interrupted and select wait timesout during transient error: %s\n", sock_strerror(sock_errno));
                 close(s);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.