Jeff Trawick wrote:

>Maybe this is a hint...  For a couple of the restart iterations,
>worker on AIX logs this:
>
>[crit] ap_queue_push failed with error code -1
>

In your AIX test environment, can you catch this error
case in action by putting breakpoints at the two lines
in ap_queue_push() where it's about to return -1?

    int ap_queue_push(fd_queue_t *queue, apr_socket_t *sd, apr_pool_t *p,
                      apr_pool_t **recycled_pool)
    {
        /*...*/
        if (apr_thread_mutex_lock(queue->one_big_mutex) != APR_SUCCESS) {
            return FD_QUEUE_FAILURE;
        }
        /*...*/
        if (apr_thread_mutex_unlock(queue->one_big_mutex) != APR_SUCCESS) {
            return FD_QUEUE_FAILURE;
        }

        return FD_QUEUE_SUCCESS;
    }

That might help isolate the source of the problem.  My two
guesses right now are:
   - pool lifetime problem, or
   - pthread library problem

--Brian


Reply via email to