9090
9191/* config globals */
9292
93- static apr_uint32_t connection_count = 0 ; /* Number of open connections */
93+ static apr_uint32_t extra_connection_count = 0 ; /* Number of open connections that the MPM does not own */
9494static int ap_daemons_to_start = 0 ;
9595static int ap_daemons_min_free = 0 ;
9696static int ap_daemons_max_free = 0 ;
@@ -219,9 +219,19 @@ static void prefork_note_child_started(int slot, pid_t pid)
219219 ap_run_child_status (ap_server_conf , pid , gen , slot , MPM_CHILD_STARTED );
220220}
221221
222+ static void ap_mpm_note_extra_connection_added (void )
223+ {
224+ apr_atomic_inc32 (& extra_connection_count );
225+ }
226+
227+ static void ap_mpm_note_extra_connection_removed (void )
228+ {
229+ apr_atomic_dec32 (& extra_connection_count );
230+ }
231+
222232static void wait_for_extra_connections (void )
223233{
224- apr_uint32_t count = apr_atomic_read32 (& connection_count );
234+ apr_uint32_t count = apr_atomic_read32 (& extra_connection_count );
225235 apr_time_t graceful , timeout , deadline ;
226236
227237 if (count == 0 ) {
@@ -234,7 +244,7 @@ static void wait_for_extra_connections(void)
234244
235245 do {
236246 apr_sleep (apr_time_from_msec (100 ));
237- count = apr_atomic_read32 (& connection_count );
247+ count = apr_atomic_read32 (& extra_connection_count );
238248 } while (count > 0 && apr_time_now () < deadline );
239249
240250 if (count > 0 ) {
@@ -413,16 +423,6 @@ static void just_die(int sig)
413423/* volatile because it's updated from a signal handler */
414424static int volatile die_now = 0 ;
415425
416- static void ap_mpm_note_extra_connection_added (void )
417- {
418- apr_atomic_inc32 (& connection_count );
419- }
420-
421- static void ap_mpm_note_extra_connection_removed (void )
422- {
423- apr_atomic_dec32 (& connection_count );
424- }
425-
426426static void stop_listening (int sig )
427427{
428428 retained -> mpm -> mpm_state = AP_MPMQ_STOPPING ;
0 commit comments