diff options
author | ultramn <dchapm2@umbc.edu> | 2017-03-02 19:55:54 -0800 |
---|---|---|
committer | ultramn <dchapm2@umbc.edu> | 2017-03-02 19:55:54 -0800 |
commit | a59f42935a7472da7b9f162a68b3c55aff128f7e (patch) | |
tree | e4bf6314161bbabbde6064d8b7fdb9335a764ca6 /tools/data_server/data_server.c | |
parent | 1c131c03fe8c5d5ab17193c9f6e7e79d81110d52 (diff) | |
parent | 9d1b1d09ed51344c8ca7b4f0a94f5841ee2c509e (diff) | |
download | libsurvive-a59f42935a7472da7b9f162a68b3c55aff128f7e.tar.gz libsurvive-a59f42935a7472da7b9f162a68b3c55aff128f7e.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; |