You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Bill Stoddard <st...@raleigh.ibm.com> on 1999/10/20 02:21:19 UTC

Re: os-windows/5171: Apache server goes into an infinite loop after CGI error

> >Fix:
> The problem appears to be an invalid assumption by saferead_guts
(src/main/buff.c)
> on Win32, or an improper Win32 implementation of ap_read (same file).
>
> saferead_guts loops until it gets no error or the error is other than
EINTR.

Jim,
I think you've found it!! I've spent hours trying to recreate this problem
and 'pumping-code' w/o success.  Never noticed it before, but
sendwithtimeout() issues WSASetLastError(EINTR) if a send (to the network)
times out.  buff_write, the caller, then issues errno = WSAGetLastError(),
which sets the conditions for the loop. I suspected errno was the culprit
and have been working to eliminate it in Apache 2.0.  Now we can get this
fixed in 1.3. Thanks man!

Bill