[Spread-cvs] commit: r452 - in trunk: daemon libspread
jschultz at spread.org
jschultz at spread.org
Mon Jan 9 12:54:26 EST 2012
Author: jschultz
Date: 2012-01-09 12:54:25 -0500 (Mon, 09 Jan 2012)
New Revision: 452
Modified:
trunk/daemon/Changelog
trunk/daemon/session.c
trunk/libspread/sp.c
Log:
SO_KEEPALIVE for client sessions patch.
Modified: trunk/daemon/Changelog
===================================================================
--- trunk/daemon/Changelog 2012-01-09 05:53:22 UTC (rev 451)
+++ trunk/daemon/Changelog 2012-01-09 17:54:25 UTC (rev 452)
@@ -1,4 +1,7 @@
+Mon Jan 9 12:52:10 2012 John Schultz <jschultz at spreadconcepts.com>
+ * sp.c, session.c: Added SO_KEEPALIVE to client sessions.
+
Mon Jan 9 00:35:02 2012 Jonathan Stanton <jonathan at spreadconcepts.com>
* SpreadConnection.java (run.listeners): Fix several potential
Modified: trunk/daemon/session.c
===================================================================
--- trunk/daemon/session.c 2012-01-09 05:53:22 UTC (rev 451)
+++ trunk/daemon/session.c 2012-01-09 17:54:25 UTC (rev 452)
@@ -596,11 +596,18 @@
if ( domain == AF_INET ) {
on = 1;
- ret = setsockopt( Sessions[MAX_SESSIONS].mbox, IPPROTO_TCP, TCP_NODELAY, (void *)&on, 4);
+ ret = setsockopt( Sessions[MAX_SESSIONS].mbox, IPPROTO_TCP, TCP_NODELAY, (void *)&on, sizeof(on) );
if (ret < 0)
- Alarm(PRINT, "Setting TCP_NODELAY failed with error: %s\n", sock_strerror(sock_errno));
+ Alarm(PRINT, "Setting TCP_NODELAY failed with error: %s\n", sock_strerror(sock_errno));
else
Alarm( SESSION, "Setting TCP_NODELAY on socket %d\n", Sessions[MAX_SESSIONS].mbox );
+
+ on = 1;
+ ret = setsockopt( Sessions[MAX_SESSIONS].mbox, SOL_SOCKET, SO_KEEPALIVE, (void *)&on, sizeof(on) );
+ if (ret < 0)
+ Alarm(PRINT, "Setting SO_KEEPALIVE failed with error: %s\n", sock_strerror(sock_errno));
+ else
+ Alarm( SESSION, "Setting SO_KEEPALIVE on socket %d\n", Sessions[MAX_SESSIONS].mbox );
}
/* delaying for the private name to be written */
Sess_detach_accept();
Modified: trunk/libspread/sp.c
===================================================================
--- trunk/libspread/sp.c 2012-01-09 05:53:22 UTC (rev 451)
+++ trunk/libspread/sp.c 2012-01-09 17:54:25 UTC (rev 452)
@@ -665,12 +665,19 @@
set_large_socket_buffers(s);
on = 1;
- ret = setsockopt( s, IPPROTO_TCP, TCP_NODELAY, (void *)&on, 4);
+ ret = setsockopt( s, IPPROTO_TCP, TCP_NODELAY, (void *)&on, sizeof(on) );
if (ret < 0)
- Alarm(PRINT, "Setting TCP_NODELAY failed with error: %s\n", sock_strerror(sock_errno));
+ Alarm(PRINT, "Setting TCP_NODELAY failed with error: %s\n", sock_strerror(sock_errno));
else
Alarm( SESSION, "SP_connect: set TCP_NODELAY for socket %d\n", s);
+ on = 1;
+ ret = setsockopt( s, SOL_SOCKET, SO_KEEPALIVE, (void *)&on, sizeof(on) );
+ if (ret < 0)
+ Alarm(PRINT, "Setting SO_KEEPALIVE failed with error: %s\n", sock_strerror(sock_errno));
+ else
+ Alarm( SESSION, "SP_connect: set SO_KEEPALIVE for socket %d\n", s);
+
inet_addr.sin_family = AF_INET;
inet_addr.sin_port = htons( port );
memcpy( &inet_addr.sin_addr, &host_address, sizeof(int32) );
More information about the Spread-cvs
mailing list