My last note has not made it to the list so I am loosing some context..
Here is the code in httpd-2.0 that does the right thing (the
ap_graceful_stop_signalled()
call). Unless I overlooked something, it would be nice to have something like this in
1.3
for Windows. Not a killer deficiency though. It just means that the old process will
service keep-alive sessions until it is done or until the main thread kills it (which
isn't too cool)
Bill
while ((r = ap_read_request(c)) != NULL) {
/* process the request if it was read without error */
ap_update_child_status(AP_CHILD_THREAD_FROM_ID(c->id), SERVER_BUSY_WRITE, r);
if (r->status == HTTP_OK)
ap_process_request(r);
if (ap_extended_status)
ap_increment_counts(AP_CHILD_THREAD_FROM_ID(c->id), r);
if (!c->keepalive || c->aborted)
break;
ap_update_child_status(AP_CHILD_THREAD_FROM_ID(c->id), SERVER_BUSY_KEEPALIVE,
r);
apr_pool_destroy(r->pool);
if (ap_graceful_stop_signalled())
break;
}