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