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