+Index: server/mpm/prefork/prefork.c
+===================================================================
+--- server/mpm/prefork/prefork.c (wersja 1069427)
++++ server/mpm/prefork/prefork.c (wersja 1069428)
+@@ -330,6 +330,7 @@
+
+ static void stop_listening(int sig)
+ {
++ mpm_state = AP_MPMQ_STOPPING;
+ ap_close_listeners();
+
+ /* For a graceful stop, we want the child to exit when done */
+@@ -350,6 +351,7 @@
+ */
+ return;
+ }
++ mpm_state = AP_MPMQ_STOPPING;
+ shutdown_pending = 1;
+ is_graceful = (sig == AP_SIG_GRACEFUL_STOP);
+ }
+@@ -363,6 +365,7 @@
+ /* Probably not an error - don't bother reporting it */
+ return;
+ }
++ mpm_state = AP_MPMQ_STOPPING;
+ restart_pending = 1;
+ is_graceful = (sig == AP_SIG_GRACEFUL);
+ }
+@@ -458,8 +461,10 @@
+
+ int ap_graceful_stop_signalled(void)
+ {
+- /* not ever called anymore... */
+- return 0;
++ /* Return true if the server is stopping for whatever reason; the
++ * function is used to initiate a fast exit from the connection
++ * processing loop. */
++ return mpm_state == AP_MPMQ_STOPPING;
+ }
+
+
+