From dfa7e1a21b4a0bfd2abfeb1b2f4f8249b44d54f8 Mon Sep 17 00:00:00 2001 From: nick Date: Thu, 14 Feb 2013 16:38:45 +0000 Subject: [PATCH] serve: Don't die horribly in the event of EINTR being returned by select() --- src/serve.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/serve.c b/src/serve.c index 83cc2ad..4a8f125 100644 --- a/src/serve.c +++ b/src/serve.c @@ -636,8 +636,10 @@ int server_accept( struct server * params ) self_pipe_fd_set( params->close_signal, &fds ); self_pipe_fd_set( params->acl_updated_signal, &fds ); - FATAL_IF_NEGATIVE(select(FD_SETSIZE, &fds, - NULL, NULL, NULL), "select() failed"); + FATAL_IF_NEGATIVE( + sock_try_select(FD_SETSIZE, &fds, NULL, NULL, NULL), + SHOW_ERRNO( "select() failed" ) + ); if ( self_pipe_fd_isset( params->close_signal, &fds ) ){ server_close_clients( params );