[Freeswitch-svn] [commit] r13107 - freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src
FreeSWITCH SVN
anthm at freeswitch.org
Tue Apr 21 14:43:05 PDT 2009
Author: anthm
Date: Tue Apr 21 16:43:05 2009
New Revision: 13107
Log:
add select to read socket in abyss so we can timeout
Modified:
freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/socket_unix.c
Modified: freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/socket_unix.c
==============================================================================
--- freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/socket_unix.c (original)
+++ freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/socket_unix.c Tue Apr 21 16:43:05 2009
@@ -227,7 +227,19 @@
struct socketUnix * const socketUnixP = channelP->implP;
int rc;
- rc = recv(socketUnixP->fd, buffer, bufferSize, 0);
+ fd_set rfds, efds;
+ struct timeval tv = { 10, 0 };
+
+ FD_ZERO(&rfds);
+ FD_ZERO(&efds);
+ FD_SET(socketUnixP->fd, &rfds);
+ FD_SET(socketUnixP->fd, &efds);
+
+ if ((rc = select(socketUnixP->fd + 1, &rfds, NULL, &efds, &tv)) > 0) {
+ rc = recv(socketUnixP->fd, buffer, bufferSize, 0);
+ } else {
+ rc = -1;
+ }
if (rc < 0) {
*failedP = TRUE;
More information about the Freeswitch-svn
mailing list