diff options
author | mwturvey <michael.w.turvey@intel.com> | 2017-02-27 11:26:05 -0700 |
---|---|---|
committer | mwturvey <michael.w.turvey@intel.com> | 2017-02-27 11:26:05 -0700 |
commit | 321749a4b8e3e8b3f4b03863200fbf86e36a0bbe (patch) | |
tree | b7d81c89b3a4ccb72d46e5194929b47df88345b7 /tools/data_server/data_server.c | |
parent | d1a02d649c034f43a11548a04d8d2a58786ff8ff (diff) | |
parent | 51751d4a9f407f526de2b626d44e14690fbef004 (diff) | |
download | libsurvive-321749a4b8e3e8b3f4b03863200fbf86e36a0bbe.tar.gz libsurvive-321749a4b8e3e8b3f4b03863200fbf86e36a0bbe.tar.bz2 |
Merge branch 'master' of https://github.com/cnlohr/libsurvive
Diffstat (limited to 'tools/data_server/data_server.c')
-rw-r--r-- | tools/data_server/data_server.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/tools/data_server/data_server.c b/tools/data_server/data_server.c index 29f5ead..5147d97 100644 --- a/tools/data_server/data_server.c +++ b/tools/data_server/data_server.c @@ -19,6 +19,7 @@ #define MAX_CONNS 32 int SocketList[MAX_CONNS]; +int droppedct[MAX_CONNS]; void error(char *msg) { perror(msg); @@ -44,10 +45,17 @@ void * SendThread( void * v ) int ss = send( sockc, buff, rd, MSG_DONTWAIT | MSG_NOSIGNAL ); if( ss < rd ) { - fprintf( stderr, "Dropped %d\n", i ); - close( SocketList[i] ); - SocketList[i] = 0; + if( droppedct[i]++ > 20 ) + { + fprintf( stderr, "Dropped %d\n", i ); + close( SocketList[i] ); + SocketList[i] = 0; + } } + else + { + droppedct[i] = 0; + } } } } @@ -142,6 +150,7 @@ int main( int argc, char ** argv ) if( SocketList[il] == 0 ) { SocketList[il] = childfd; + droppedct[il] = 0; printf("Conn %s At %d\n", hostaddrp, il); break; |