You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ji...@apache.org on 2008/05/31 13:58:46 UTC
svn commit: r662014 - in /httpd/httpd/branches/2.2.x: STATUS
server/mpm/prefork/prefork.c
Author: jim
Date: Sat May 31 04:58:46 2008
New Revision: 662014
URL: http://svn.apache.org/viewvc?rev=662014&view=rev
Log:
Merge r613260 from trunk:
* server/mpm/prefork/prefork.c (child_main): If apr_pollset_poll()
fails with EINTR and die_now has been set (indicating a graceful
stop/restart), terminate the child quickly rather than re-entering
poll().
Submitted by: jorton
Reviewed by: jim
Modified:
httpd/httpd/branches/2.2.x/STATUS
httpd/httpd/branches/2.2.x/server/mpm/prefork/prefork.c
Modified: httpd/httpd/branches/2.2.x/STATUS
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/STATUS?rev=662014&r1=662013&r2=662014&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/STATUS (original)
+++ httpd/httpd/branches/2.2.x/STATUS Sat May 31 04:58:46 2008
@@ -90,22 +90,6 @@
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
[ start all new proposals below, under PATCHES PROPOSED. ]
- * prefork: prefork's apr_pollset_poll() loop-on-EINTR loop was not checking
- die_now; the child holding the mutex will not die immediately if poll
- fails with EINTR, and will hence appear to "hang" until a new connection
- is recevied.
- Trunk version of patch:
- http://svn.apache.org/viewvc?view=rev&revision=613260
- Backport version for 2.2.x of patch:
- Trunk version of patch works
- +1: jim, jorton, rpluem
-
- * prefork: Unlock mutex before terminating.
- Trunk version of patch:
- http://svn.apache.org/viewvc?view=rev&revision=613252
- Backport version for 2.2.x of patch:
- Trunk version of patch works
- +1: jim, jorton, rpluem
PATCHES PROPOSED TO BACKPORT FROM TRUNK:
[ New proposals should be added at the end of the list ]
Modified: httpd/httpd/branches/2.2.x/server/mpm/prefork/prefork.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/server/mpm/prefork/prefork.c?rev=662014&r1=662013&r2=662014&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/server/mpm/prefork/prefork.c (original)
+++ httpd/httpd/branches/2.2.x/server/mpm/prefork/prefork.c Sat May 31 04:58:46 2008
@@ -580,6 +580,12 @@
if (one_process && shutdown_pending) {
return;
}
+ else if (die_now) {
+ /* In graceful stop/restart; drop the mutex
+ * and terminate the child. */
+ SAFE_ACCEPT(accept_mutex_off());
+ clean_child_exit(0);
+ }
continue;
}
/* Single Unix documents select as returning errnos