Hi, all,

One problem was found at most releases of APR.

Problem description:
When using APR-1.3.5 on PPC, Apache HTTP server couldn't response HEAD message.

Root Cause:
After investigation, I found that there is a bug in APR when accepting a new
conneciton.
In function apr_socket_accept of file apr-1.3.5/network_io/sockets.c, if the
new socket finds its father socket is non-blocking, it calls
*apr_set_option* to change its own non-blocking mode. However, the function
*apr_set_option* only changes the value in struct apr_socket_t, and the real
non-blocking mode of the socket has not been modified. So I think we'd better
call function *apr_socket_opt_set* to set the real non-blocking mode of the new
socket.

Please see attached for the patched file.

Thanks,
Tony

Attachment: sockets.diff
Description: Binary data

Reply via email to