diff options
author | Christopher Faylor <me@cgf.cx> | 2002-10-21 01:00:58 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2002-10-21 01:00:58 +0000 |
commit | 5ec14fe40ae1a6b11d27b975feca1b20de435467 (patch) | |
tree | 568cd69f0dca513973fc6e6646fe6ea4b3b9dafe /winsup/cygwin/dcrt0.cc | |
parent | ccefaab1d5735466b54f8c5dd279a310d6020a77 (diff) | |
download | cygnal-5ec14fe40ae1a6b11d27b975feca1b20de435467.tar.gz cygnal-5ec14fe40ae1a6b11d27b975feca1b20de435467.tar.bz2 cygnal-5ec14fe40ae1a6b11d27b975feca1b20de435467.zip |
Change _function() to function() throughout.
* cygwin.din: Remove last vestiges (?) of newlib wrappers.
* cygthread.cc (cygthread::detach): Always wait for event or suffer an
apparently inavoidable race.
* dcrt0.cc (dll_crt0_1): Allocate threads after stack has been relocated.
* debub.cc (lock_debug): Don't acquire lock on exit.
* fork.cc (fork_child): Recreate mmaps before doing anything else since Windows
has a habit of using blocks of memory in the child that could previously have
been occupied by shared memory in the parent.
* mmap.cc (fhandler_disk_file::fixup_mmap_after_fork): Issue error here and
provide some details about what went wrong.
(fixup_mmaps_after_fork): Remove error message.
* shared.cc (open_shared): Move warning message so that more detail is
possible.
* sigproc.cc (sigproc_init): Initialize sync_proc_subproc to avoid a race.
(sigproc_terminate): Specifically wait for process thread to terminate.
Diffstat (limited to 'winsup/cygwin/dcrt0.cc')
-rw-r--r-- | winsup/cygwin/dcrt0.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc index 64d5e2230..febb2004e 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -574,8 +574,8 @@ dll_crt0_1 () if (!child_proc_info) { - memory_init (); cygthread::init (); + memory_init (); } else { @@ -584,8 +584,9 @@ dll_crt0_1 () switch (child_proc_info->type) { case _PROC_FORK: - cygheap_fixup_in_child (0); alloc_stack (fork_info); + cygthread::init (); + cygheap_fixup_in_child (0); close_ppid_handle = !!child_proc_info->pppid_handle; memory_init (); set_myself (mypid); @@ -599,6 +600,7 @@ dll_crt0_1 () hexec_proc = spawn_info->hexec_proc; around: HANDLE h; + cygthread::init (); cygheap_fixup_in_child (1); memory_init (); if (!spawn_info->moreinfo->myself_pinfo || @@ -619,7 +621,7 @@ dll_crt0_1 () old_title = strcpy (title_buf, spawn_info->moreinfo->old_title); cfree (spawn_info->moreinfo->old_title); } - cygthread::init (); + // cygthread::init (); break; } if (close_hexec_proc) |