[EMAIL PROTECTED] writes:


>   +++ worker.c        2001/09/19 18:47:31     1.26
>   @@ -659,7 +659,16 @@
>                    signal_workers();
>                }
>                if (csd != NULL) {
>   -                ap_queue_push(worker_queue, csd, ptrans);
>   +                rv = ap_queue_push(worker_queue, csd, ptrans);
>   +                if (rv) {
>   +                    /* trash the connection; we couldn't queue the connected
>   +                     * socket to a worker 
>   +                     */
>   +                    apr_socket_close(csd);
>   +                    ap_log_error(APLOG_MARK, APLOG_CRIT, 0, ap_server_conf,
>   +                                 "ap_queue_push failed with error code %d",
>   +                                 rv);

While playing with worker today I also had a call to ap_log_error()
for ap_queue_pop() failures, but I was immediately reminded of
experiences with my own similar MPM, which showed that there are false
wake-ups with glibc 2.1 on Linux.

For ap_queue_pop(), we could stand to have a call to ap_log_error()
when it fails with something besides FD_QUEUE_EINTR.

-- 
Jeff Trawick | [EMAIL PROTECTED] | PGP public key at web site:
       http://www.geocities.com/SiliconValley/Park/9289/
             Born in Roswell... married an alien...

Reply via email to