diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | src/thread.c | 11 |
2 files changed, 15 insertions, 1 deletions
@@ -1,3 +1,8 @@ +2001-12-28 Robert James Kaes <rjkaes@flarenet.com> + + * src/thread.c (thread_main): Added code to detect errors in the + accept() function. + 2001-12-23 Robert James Kaes <rjkaes@flarenet.com> * src/utils.c (send_http_message): Use the write_message() diff --git a/src/thread.c b/src/thread.c index 66f13d9..4ea1bbf 100644 --- a/src/thread.c +++ b/src/thread.c @@ -1,4 +1,4 @@ -/* $Id: thread.c,v 1.18 2001-11-22 00:31:10 rjkaes Exp $ +/* $Id: thread.c,v 1.19 2001-12-28 22:29:11 rjkaes Exp $ * * Handles the creation/destruction of the various threads required for * processing incoming connections. @@ -131,6 +131,15 @@ thread_main(void *arg) connfd = accept(listenfd, cliaddr, &clilen); pthread_mutex_unlock(&mlock); + /* + * Make sure no error occurred... + */ + if (connfd < 0) { + log_message(LOG_ERR, "Accept returned an error (%s) ... retrying.", strerror(errno)); + continue; + } + + ptr->status = T_CONNECTED; SERVER_DEC(); |