httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Graham Dumpleton <graham.dumple...@gmail.com>
Subject Re: Catching graceful restart in apache2 module
Date Tue, 04 Aug 2009 07:39:16 GMT
2009/8/4 Ruediger Pluem <rpluem@apache.org>:
>
>
> On 08/04/2009 09:02 AM, Graham Dumpleton wrote:
>> 2009/8/4 Petr Hracek <phracek2@gmail.com>:
>>> I have found in following link: (http://wiki.apache.org/httpd/ModuleLife)
>>>
>>> Race conditions during graceful restart
>>>
>>> During a graceful restart, old children are still serving old requests while
>>> new children are serving new requests. If the same lock must be used by old
>>> and new children, then the lock name must be the same and cannot be
>>> generated with tmpnam() or similar functions in the post_config hook.
>>>
>>> Which lock is means there. I have already found the in the post_config I
>>> have cleanuped procedure, but in the post_config is already mentioned
>>> function for killing all session.
>>> Is there any way how to detect if the restart of apache has been done as
>>> gracefull or as hard restart?
>>
>> /**
>>  * predicate indicating if a graceful stop has been requested ...
>>  * used by the connection loop
>>  * @return 1 if a graceful stop has been requested, 0 otherwise
>>  * @deffunc int ap_graceful_stop_signalled(*void)
>>  */
>> AP_DECLARE(int) ap_graceful_stop_signalled(void);
>
> Is this also true for graceful restarts?
> The comment only talks about graceful stops.

Hmmm, I presumed that the server child process wouldn't know the
difference and that 'stop' here meant 'stop' of an individual process
and not the server as a whole. I guess a bit of digging through code
is necessary to verify what actually happens.

I could also possibly be wrong in assuming they were wanting to know
about detecting in a server child process and not Apache parent
process. I haven't exactly been following the discussion in detail.

Graham

Mime
View raw message