[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Windows Build: feature branch, src/exithandle.c,

From: Derek Robert Price
Subject: Re: Windows Build: feature branch, src/exithandle.c,
Date: Sun, 16 May 2004 22:52:28 -0400
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040413

Hash: SHA1

Conrad T. Pino wrote:

>Hi Derek,
>>From: Derek Robert Price
>>This thread prompted me to clean up identical inchoherent comments in
>>server_cleanup, rcs_cleanup, and Lock_Cleanup and I noticed that I had
>>at one point put code into each function to avoid running the
>>functions twice after the exit() that is always called at the end of
>>main_cleanup() goes and causes all the functions registered via
>>atexit() to be called.
>I assume the multiple patch options I've generated are still suitable
>to judge there merits.  I don't plan to regenerate them until I see a
>consensus forming or by specific request.

Not really.  This changes things.  :)

>>So, how about his much simpler idea:  Only register main_cleanup() as
>>a signal handler and let all the other cleanup functions be called via
>>atexit() and exit()?
>>The only drawback is that if one of the exit handlers is interrupted
>>by a signal, then it won't be called again via the second call to
>>atexit(), but it's possible that this could be coded around.
>In general I say more options are better but regrettably I don't have
>the knowledge I require to render a valid opinion.

On further consideration, it should be easy to code around.  The trick
will simply be to only call exit() via a wrapper which declares the
signal critical section.  Then the cleanup routines will have to be
able to run without interruption.  Also, the code that prevents the
signal handlers from running twice will need to be removed.


- --

Email: derek@ximbiot.com

Get CVS support at <http://ximbiot.com>!
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


reply via email to

[Prev in Thread] Current Thread [Next in Thread]