How to make child of failed fork exit cleanly?

Corinna Vinschen corinna-cygwin@cygwin.com
Wed May 4 09:25:00 GMT 2011


On May  3 19:03, Ryan Johnson wrote:
> On 03/05/2011 2:41 PM, Corinna Vinschen wrote:
> >I'm not sure I understand the question.  How do you know which
> >DLL is already initialized and which isn't?
> I'm talking about a call to dll_list::alloc, due to a DLL_LINK which
> did not map to its parent's address. At this point we know the fork
> has failed and there's no point continuing to try.
> [...]
> For the moment I've just disabled all finalizers if in_forkee=1, on
> the premise that it's better to risk not runing a valid finalizer
> than to risk running an invalid one. That made the access violations
> go away, [...]

Can't we mark the DLLs in the list for which the constructors ran
successfully and only call them on termination?


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat



More information about the Cygwin-developers mailing list