Do not call ExitThread() on server communication errors.
This commit is contained in:
parent
c2795b7376
commit
5eca3afa9f
|
@ -27,6 +27,17 @@
|
|||
#endif
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* CLIENT_Die
|
||||
*
|
||||
* Die on protocol errors or socket close
|
||||
*/
|
||||
static void CLIENT_Die( THDB *thdb )
|
||||
{
|
||||
close( thdb->socket );
|
||||
SYSDEPS_ExitThread();
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* CLIENT_ProtocolError
|
||||
*/
|
||||
|
@ -39,7 +50,7 @@ static void CLIENT_ProtocolError( const char *err, ... )
|
|||
fprintf( stderr, "Client protocol error:%p: ", thdb->server_tid );
|
||||
vfprintf( stderr, err, args );
|
||||
va_end( args );
|
||||
ExitThread(1);
|
||||
CLIENT_Die( thdb );
|
||||
}
|
||||
|
||||
|
||||
|
@ -145,7 +156,7 @@ static unsigned int CLIENT_WaitReply_v( int *len, int *passed_fd,
|
|||
perror("recvmsg");
|
||||
CLIENT_ProtocolError( "recvmsg\n" );
|
||||
}
|
||||
if (!ret) ExitThread(1); /* the server closed the connection; time to die... */
|
||||
if (!ret) CLIENT_Die( thdb ); /* the server closed the connection; time to die... */
|
||||
|
||||
/* sanity checks */
|
||||
|
||||
|
@ -189,7 +200,7 @@ static unsigned int CLIENT_WaitReply_v( int *len, int *passed_fd,
|
|||
perror( "recv" );
|
||||
CLIENT_ProtocolError( "recv\n" );
|
||||
}
|
||||
if (!addlen) ExitThread(1); /* the server closed the connection; time to die... */
|
||||
if (!addlen) CLIENT_Die( thdb ); /* the server closed the connection; time to die... */
|
||||
if (len) *len += addlen;
|
||||
remaining -= addlen;
|
||||
}
|
||||
|
@ -206,7 +217,7 @@ static unsigned int CLIENT_WaitReply_v( int *len, int *passed_fd,
|
|||
perror( "recv" );
|
||||
CLIENT_ProtocolError( "recv\n" );
|
||||
}
|
||||
if (!addlen) ExitThread(1); /* the server closed the connection; time to die... */
|
||||
if (!addlen) CLIENT_Die( thdb ); /* the server closed the connection; time to die... */
|
||||
remaining -= addlen;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue