summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/child_info.h
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2011-11-16 04:09:33 +0000
committerChristopher Faylor <me@cgf.cx>2011-11-16 04:09:33 +0000
commit7b2740dda35981d44331c77354b6d9c3d05b1338 (patch)
tree6c3b23fb5be144d578cd137f49859b26a1d57665 /winsup/cygwin/child_info.h
parentf32d96ff9927f60980c14c1bb2d5525d8d683583 (diff)
downloadcygnal-7b2740dda35981d44331c77354b6d9c3d05b1338.tar.gz
cygnal-7b2740dda35981d44331c77354b6d9c3d05b1338.tar.bz2
cygnal-7b2740dda35981d44331c77354b6d9c3d05b1338.zip
* child_info.h (CURR_CHILD_INFO_MAGIC): Reset.
(cygheap_exec_info::nchildren): Move from child_info_spawn. (cygheap_exec_info::cchildren): Ditto. (cygheap_exec_info::record_children): Declare new function. (cygheap_exec_info::reattach_children): Ditto. (cygheap_exec_info::alloc): Ditto. (child_info_spawn::nchildren): Move to cygheap_exec_info. (child_info_spawn::cchildren): Ditto. * sigproc.cc (cygheap_exec_info::alloc): Define new function. (child_info_spawn::cleanup): Accommodate move of children info to cygheap_exec_info. (cygheap_exec_info::record_children): Define new function. (cygheap_exec_info::reattach_children): Ditto. (child_info_spawn::record_children): Use cygheap_exec_info function to accomplish this task. (child_info_spawn::reattach_children): Ditto. * spawn.cc (child_info_spawn::worker): Allocate moreinfo using cygheap_exec_info::alloc. * dcrt0.cc (child_info_fork::alloc_stack_hard_way): Use abort for the error to avoid a retry.
Diffstat (limited to 'winsup/cygwin/child_info.h')
-rw-r--r--winsup/cygwin/child_info.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/winsup/cygwin/child_info.h b/winsup/cygwin/child_info.h
index 8fc0178d3..d69d44166 100644
--- a/winsup/cygwin/child_info.h
+++ b/winsup/cygwin/child_info.h
@@ -35,7 +35,7 @@ enum child_status
#define EXEC_MAGIC_SIZE sizeof(child_info)
/* Change this value if you get a message indicating that it is out-of-sync. */
-#define CURR_CHILD_INFO_MAGIC 0x941e0a4aU
+#define CURR_CHILD_INFO_MAGIC 0x24f4be4bU
#define NPROCS 256
@@ -111,6 +111,11 @@ public:
int envc;
char **envp;
HANDLE myself_pinfo;
+ int nchildren;
+ cchildren children[0];
+ static cygheap_exec_info *alloc ();
+ void record_children ();
+ void reattach_children (HANDLE);
};
class child_info_spawn: public child_info
@@ -123,8 +128,6 @@ public:
int __stdin;
int __stdout;
char filler[4];
- int nchildren;
- cchildren children[NPROCS];
void cleanup ();
child_info_spawn () {};