serve: Don't die horribly in the event of EINTR being returned by select()
This commit is contained in:
@@ -636,8 +636,10 @@ int server_accept( struct server * params )
|
|||||||
self_pipe_fd_set( params->close_signal, &fds );
|
self_pipe_fd_set( params->close_signal, &fds );
|
||||||
self_pipe_fd_set( params->acl_updated_signal, &fds );
|
self_pipe_fd_set( params->acl_updated_signal, &fds );
|
||||||
|
|
||||||
FATAL_IF_NEGATIVE(select(FD_SETSIZE, &fds,
|
FATAL_IF_NEGATIVE(
|
||||||
NULL, NULL, NULL), "select() failed");
|
sock_try_select(FD_SETSIZE, &fds, NULL, NULL, NULL),
|
||||||
|
SHOW_ERRNO( "select() failed" )
|
||||||
|
);
|
||||||
|
|
||||||
if ( self_pipe_fd_isset( params->close_signal, &fds ) ){
|
if ( self_pipe_fd_isset( params->close_signal, &fds ) ){
|
||||||
server_close_clients( params );
|
server_close_clients( params );
|
||||||
|
Reference in New Issue
Block a user