aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/sigproc.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2001-12-26 21:35:16 +0000
committerChristopher Faylor <me@cgf.cx>2001-12-26 21:35:16 +0000
commitaaf219f01e5cd7fac54fafae24974e06a737b9ee (patch)
tree05a51aa38b596ee6cf79693387ff97ec4035ed56 /winsup/cygwin/sigproc.cc
parentdcd8b9be826107fd74cc91052825730f0f21fb62 (diff)
downloadnewlib-aaf219f01e5cd7fac54fafae24974e06a737b9ee.zip
newlib-aaf219f01e5cd7fac54fafae24974e06a737b9ee.tar.gz
newlib-aaf219f01e5cd7fac54fafae24974e06a737b9ee.tar.bz2
* cygmagic: Add define name to warning.
* dcrt0.cc (_dll_crt0): Check for changes in child_info size. (multiple_cygwin_problem): Avoid "proc" errors when testing. Just assume new cygwin proc. * shared_info.h (mount_info): Add 'cb' element for sanity checks. (shared_info): Ditto. * child_info.h (child_info): Add fhandler_union_size element for sanity checking. * shared.cc (open_shared): Detect shared region size mismatch between parent and child. (shared_info::initialize): Detect shared region size mismatch with expectation. (memory_Init): Ditto. * sigproc.cc (init_child_info): Correctly set cb in passed structure. * shared.cc (open_shared):
Diffstat (limited to 'winsup/cygwin/sigproc.cc')
-rw-r--r--winsup/cygwin/sigproc.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc
index 6527313..2e40982 100644
--- a/winsup/cygwin/sigproc.cc
+++ b/winsup/cygwin/sigproc.cc
@@ -857,13 +857,14 @@ void __stdcall
init_child_info (DWORD chtype, child_info *ch, pid_t pid, HANDLE subproc_ready)
{
memset (ch, 0, sizeof *ch);
- ch->cb = sizeof *ch;
+ ch->cb = chtype == PROC_FORK ? sizeof (child_info_fork) : sizeof (child_info);
ch->intro = PROC_MAGIC_GENERIC;
ch->magic = CHILD_INFO_MAGIC;
ch->type = chtype;
ch->cygpid = pid;
ch->subproc_ready = subproc_ready;
ch->pppid_handle = myself->ppid_handle;
+ ch->fhandler_union_cb = sizeof (fhandler_union);
}
/* Check the state of all of our children to see if any are stopped or