Return-Path: Delivered-To: apache-cvs-archive@hyperreal.org Received: (qmail 24849 invoked by uid 6000); 18 Feb 1999 05:39:55 -0000 Received: (qmail 24835 invoked by alias); 18 Feb 1999 05:39:53 -0000 Delivered-To: apache-apr-cvs@hyperreal.org Received: (qmail 24831 invoked by uid 216); 18 Feb 1999 05:39:53 -0000 Date: 18 Feb 1999 05:39:53 -0000 Message-ID: <19990218053953.24830.qmail@hyperreal.org> From: manoj@hyperreal.org To: apache-apr-cvs@hyperreal.org Subject: cvs commit: apache-apr/pthreads/src/main http_main.c Sender: apache-cvs-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org manoj 99/02/17 21:39:53 Modified: pthreads/src/main http_main.c Log: During graceful restart we close our listeners to kick our threads out of accept(), we seem to be missing the first file descriptor, probably because of an errant cut-and-paste. I think this bug didn't show up on Linux because in the single port case, the only thread doing the accept is the "parent" thread, which is guaranteed to be hit by a signal and interrupted. Revision Changes Path 1.44 +2 -2 apache-apr/pthreads/src/main/http_main.c Index: http_main.c =================================================================== RCS file: /home/cvs/apache-apr/pthreads/src/main/http_main.c,v retrieving revision 1.43 retrieving revision 1.44 diff -u -u -r1.43 -r1.44 --- http_main.c 1999/02/17 22:39:43 1.43 +++ http_main.c 1999/02/18 05:39:52 1.44 @@ -418,10 +418,10 @@ pthread_cond_broadcast(&(csd_queue.not_empty)); - /* Setup acceptor threads */ + /* Kick acceptor threads out of accept */ lr = ap_listeners; - while (lr->next != NULL) { + while (lr != NULL) { ap_pclosesocket(pconf, lr->fd); lr= lr->next; }