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.