aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorJoshua Allen <axlecrusher@gmail.com>2017-02-25 16:21:34 -0500
committerJoshua Allen <axlecrusher@gmail.com>2017-02-25 16:21:34 -0500
commit7176d6099e27d07d5801b2ac04d17035b694ca66 (patch)
tree65182fe7e25659b0f2ec1f661529abb17177cc5a /tools
parentc2ee02ce28a7c7a9bebe9b69f214e8e441d60cc8 (diff)
parentfe31e600d890004f0f255a20fe056e0e8a54209b (diff)
downloadlibsurvive-7176d6099e27d07d5801b2ac04d17035b694ca66.tar.gz
libsurvive-7176d6099e27d07d5801b2ac04d17035b694ca66.tar.bz2
Merge branch 'master' of github.com:cnlohr/libsurvive
Diffstat (limited to 'tools')
-rw-r--r--tools/data_server/data_server.c15
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;