httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Hartill <>
Subject Re: WWW Form Bug Report: "broken timeout causes apache hang" on Irix
Date Wed, 04 Sep 1996 19:26:32 GMT

thanks for the info. I'll pass it on to the developers list.

rob wrote:
>Operating system: Irix, version: 6.2
>Version of Apache Used: 1.1.1
>Extra Modules used: 
>URL exhibiting problem: 
>On heavily loaded systems, apache timeout fails in module http_main.c due to race-condition
in timeout.
>Timeout is implemented using alarm(2) function as follows (see line 861 in http_main.c):
> signal (SIGALRM, longjmp_out_of_alarm);
>    alarm(1);
>#if defined(NEXT)
>    wait_or_timeout_retval = wait((union wait *)status);
>    wait_or_timeout_retval = wait(status);
>    alarm(0);
>The problem occurs when the process is scheduled out after the alarm(1); call,
>and is scheduled back in after the alarm signal has occurred.  This is a well-known
>race-condition, as the wait function will never be interrupted by the alarm signal.
>So the process will hang on the wait signal (possibly forever.)  We are operating a
>web site with more than 2 million hits a day, with more than 800 processes running, and
we will occasionally have this problem.
>A work-around is to increase the timeout value. (possibly to 2 or 3 seconds.)

Rob Hartill (  ... why wait for a clear night to see the stars?.

View raw message