Re: mod_fastcgi

Stanley Gambarin (stanleyg@cs.bu.edu)
Mon, 15 Sep 1997 12:47:44 -0400 (EDT)

Date: Mon, 15 Sep 1997 12:47:44 -0400 (EDT)
From: Stanley Gambarin <stanleyg@cs.bu.edu>
To: Jonathan Roy <roy@atlantic.net>
Subject: Re: mod_fastcgi
In-Reply-To: <3.0.2.32.19970914175932.006a33bc@rio.atlantic.net>
Message-Id: <Pine.GSO.3.96.970915124701.11354B-100000@csa>


	To the multiple responders of this message.. yes, you are
all correct.. it was a misunderstanding on my part.

					Stanley.

On Sun, 14 Sep 1997, Jonathan Roy wrote:

> 
>   Notice I said "after the suspend". 
> 
>              ASSERT(sleepSeconds > 0);
>              alarm(sleepSeconds);
>              sigsuspend(&sigMask);
>              alarm(0);
> 
>   is what I'm saying. If sigsuspend() returns from a signal other than the
> alarm, the alarm will still fire and have to be handled pointlessly. If the
> sigsuspend() returns because of the alarm, then the alarm(0) has no effect.
> The point is simply to avoid getting an alarm signal if sigsuspend has
> already exited due to a non-alarm signal. It isn't broken, and this doesn't
> "fix" anything, it's simply more "correct" I think...
> 
> -Jonathan
> 
> At 05:49 PM 9/14/97 -0400, Stanley Gambarin wrote:
> >
> >	Unless I am misunderstanding something, the code as it
> >stands now is correct.  After the process manager has performed a 
> >first set of calculations, it knows when the next recalculation
> >needs to be done (sleepSeconds value).  Now, if by that time, process
> >manager had received a SIGUSR2 or SIGTERM (which must be processed
> >immediately), it skips the call to sigsuspend.  Otherwise, it
> >has nothing to do (so to speak) for at least sleepSeconds 
> >interval, until either the interval expires, which means that 
> >process manager needs to recalculate the values (and possible
> >restart fastcgi applications) or it receives SGIUSR2 or
> >SIGTERm signals.  So, if i put alarm(0), then process manager will
> >not wake up when the timer expires but will only wake up when
> >the SIGUSR2 or SIGTERM is recieved, which is NOT a desired
> >situation.  Therefore alarm(sleepSeconds)  must be used, not
> >alarm(0).
> >
> >					Stanley. 
> >
> >On Wed, 10 Sep 1997, Jonathan Roy wrote:
> >
> >> 
> >> 
> >>   Hey there, I noticed in your mod_fastcgi.c there is still:
> >> 
> >>             ASSERT(sleepSeconds > 0);
> >>             alarm(sleepSeconds);
> >>             sigsuspend(&sigMask);
> >>         }
> >> 
> >>   there should be an alarm(0) after the suspend. Thought that was in one of
> >> the patches we provided for mod_fastcgi.c, but maybe not. (Actually, our
> >> patches were for the 1.x version, so maybe they didn't make it into the 2.x
> >> base David was applying fixes to.)
> >> 
> >> -Jonathan
> >> 
> >> At 12:26 AM 9/8/97 -0400, Stanley Gambarin wrote:
> >> >	i got the changes by David MacKenzie together witha  simple
> >> >Makefile and installation script and put it on
> >> >http://www.cs.bu.edu/staff/TA/stanleyg/apache/index.html 
> >> >I compiled it on Linux with 1.2.4. and 1.3 version of Apache.
> >> >(if you are compiling with 1.2.4., change all occurrences of
> >> >ap_md5 to md5, as there is a conflict in function naming).
> >> >There are no code changes, but I put a lot of TODO stuff, so if
> >> >poeple are interested...in any case, i will be updating the module
> >> >weekly, so stay tuned.
> >> >							stanley.
> >> >
> >> >
> >> 
> >> --
> >> Jonathan Roy - roy@idle.com - Idle Communications, Inc.
> >> Idle Communications, Inc. accepts contract programming
> >> work for general purpose tools (or CGI) in Perl/C/C++.
> >> 
> >> 
> >
> >
> 
> --
> Jonathan Roy - roy@idle.com - Idle Communications, Inc.
> Idle Communications, Inc. accepts contract programming
> work for general purpose tools (or CGI) in Perl/C/C++.
> 
>