* dll_init.cc (dll_global_dtors): Avoid calling destructors during failing
fork().
This commit is contained in:
parent
54e4df33a2
commit
3521d50480
|
@ -1,3 +1,8 @@
|
||||||
|
2011-05-04 Christopher Faylor <me.cygwin2011@cgf.cx>
|
||||||
|
|
||||||
|
* dll_init.cc (dll_global_dtors): Avoid calling destructors during
|
||||||
|
failing fork().
|
||||||
|
|
||||||
2011-05-04 Corinna Vinschen <corinna@vinschen.de>
|
2011-05-04 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* fhandler.h (class fhandler_base): Remove uninterruptible_io status
|
* fhandler.h (class fhandler_base): Remove uninterruptible_io status
|
||||||
|
|
|
@ -37,6 +37,11 @@ static bool dll_global_dtors_recorded;
|
||||||
void
|
void
|
||||||
dll_global_dtors ()
|
dll_global_dtors ()
|
||||||
{
|
{
|
||||||
|
/* Don't attempt to call destructors if we're still in fork processing
|
||||||
|
since that likely means fork is failing and everything will not have been
|
||||||
|
set up. */
|
||||||
|
if (in_forkee)
|
||||||
|
return;
|
||||||
int recorded = dll_global_dtors_recorded;
|
int recorded = dll_global_dtors_recorded;
|
||||||
dll_global_dtors_recorded = false;
|
dll_global_dtors_recorded = false;
|
||||||
if (recorded && dlls.start.next)
|
if (recorded && dlls.start.next)
|
||||||
|
|
Loading…
Reference in New Issue