* dcrt0.cc (dll_crt0_1): Move exception list and constructor stuff earlier in
the process. Use new second argument to set_myself. (cygwin_dll_init): Initialize exception list and constructor stuff here. (_dll_crt0): And here. Also, deal with inherited pinfo shared memory region from parent. * pinfo.cc (set_myself): Accept a second argument signifying the a shared memory region, passed from an execing parent. (pinfo_init): Ditto. * pinfo.h: Ditto. * shared.h (child_info): Add a handle field to pass to child. * spawn.cc (spawn_guts): Create a shared handle to pass to an execed child. * winsup.h: Remove extraneous declaration.
This commit is contained in:
@ -67,6 +67,12 @@ public:
|
||||
HANDLE shared_h;
|
||||
HANDLE console_h;
|
||||
HANDLE parent_alive; // handle of thread used to track children
|
||||
HANDLE myself_pinfo;
|
||||
~child_info ()
|
||||
{
|
||||
if (myself_pinfo)
|
||||
CloseHandle (myself_pinfo);
|
||||
}
|
||||
};
|
||||
|
||||
class child_info_fork: public child_info
|
||||
|
Reference in New Issue
Block a user