]> granicus.if.org Git - apache/commitdiff
document a glitch that prevents complete graceful termination of the
authorJeff Trawick <trawick@apache.org>
Thu, 21 Mar 2002 16:18:11 +0000 (16:18 +0000)
committerJeff Trawick <trawick@apache.org>
Thu, 21 Mar 2002 16:18:11 +0000 (16:18 +0000)
process when one of the threads encounters a critical error

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94094 13f79535-47bb-0310-9956-ffa450edef68

server/mpm/worker/worker.c

index b57d1139d17e1d636006ef856b650b0cd70627b5..ac907022fddf0589bbbd36ea789788d41080b678 100644 (file)
@@ -1138,6 +1138,10 @@ static void child_main(int child_num_arg)
         /* make sure the start thread has finished; signal_workers() 
          * and join_workers() depend on that
          */
+        /* XXX join_start_thread() won't be awakened if one of our
+         *     threads encounters a critical error and attempts to
+         *     shutdown this child
+         */
         join_start_thread(start_thread_id);
         signal_workers(); /* helps us terminate a little more quickly when
                            * the dispatch of the signal thread
@@ -1155,6 +1159,10 @@ static void child_main(int child_num_arg)
     else { /* !one_process */
         /* Watch for any messages from the parent over the POD */
         while (1) {
+            /* XXX join_start_thread() won't be awakened if one of our
+             *     threads encounters a critical error and attempts to
+             *     shutdown this child
+             */
             rv = ap_mpm_pod_check(pod);
             if (rv == AP_GRACEFUL || rv == AP_RESTART) {
                 /* make sure the start thread has finished;