* child_info.h: Bump magic number.
(class child_info): Add an element. * cygheap.cc (init_cheap): Allocate cygwin heap in shared memory area. (cygheap_fixup_in_child): Map cygwin heap, passed from parent via shared memory into correct address. (cygheap_setup_for_child): New function. * cygheap.h: Declare new functions. * dcrt0.cc (dll_crt0_1): Accomodate new cygheap_fixup_in_child arguments. Avoid protecting subproc_ready unless it is spawn/nowait. * fork.cc (fork_parent): Use new cygheap_setup_for_child function to setup cygwin heap info. Close passed cygheap shared memory handle. * spawn.cc (spawn_guts): Ditto. Also, reorganize to avoid synchronization between parent and child in non-P_OVERLAY case. * sigproc.cc (wait_sig): Only signal subproc_ready when execing.
This commit is contained in:
@@ -12,7 +12,7 @@ details. */
|
||||
|
||||
enum
|
||||
{
|
||||
PROC_MAGIC = 0xaf0ff000,
|
||||
PROC_MAGIC = 0xaf10f000,
|
||||
PROC_FORK = PROC_MAGIC + 1,
|
||||
PROC_EXEC = PROC_MAGIC + 2,
|
||||
PROC_SPAWN = PROC_MAGIC + 3,
|
||||
@@ -39,6 +39,7 @@ public:
|
||||
HANDLE pppid_handle;
|
||||
init_cygheap *cygheap;
|
||||
void *cygheap_max;
|
||||
HANDLE cygheap_h;
|
||||
};
|
||||
|
||||
class child_info_fork: public child_info
|
||||
|
Reference in New Issue
Block a user