[Spread-cvs] commit: r362 - in trunk: daemon libspread
jonathan at spread.org
jonathan at spread.org
Tue Nov 14 00:54:11 EST 2006
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 <jonathan at cnds.jhu.edu>
+
+ * 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 <jonathan at cnds.jhu.edu>
* 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);
More information about the Spread-cvs
mailing list