diff options
author | Christopher Faylor <me@cgf.cx> | 2004-11-20 06:08:47 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2004-11-20 06:08:47 +0000 |
commit | 83796ee6b789035d1f9128236699cfbf41dabf37 (patch) | |
tree | 7ec6bc2c14a6bf355b42177d84c21bb7d94f9b95 /winsup | |
parent | 16f1128507e0b1cfc9e993671f8d0d7eeab3e216 (diff) | |
download | newlib-83796ee6b789035d1f9128236699cfbf41dabf37.zip newlib-83796ee6b789035d1f9128236699cfbf41dabf37.tar.gz newlib-83796ee6b789035d1f9128236699cfbf41dabf37.tar.bz2 |
New ChangeLog for this branch.
TODO: somehow get exit value of windows process.
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/ChangeLog | 81 | ||||
-rw-r--r-- | winsup/cygwin/sigproc.h | 4 |
2 files changed, 82 insertions, 3 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 671f76b..84680aa 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,84 @@ +2004-11-20 Christopher Faylor <cgf@timesys.com> + + Remove cygthread.h in favor of cygtls.h throughout since cygtls now + includes cygthread.h. Eliminate ppid_handle usage throughout. + * child_info.h: Regenerate magic number + (child_info): Remove pppid_handle. + * cygthread.h (cygthread::release): New method. Frees thread without + waiting. + * cygthread.cc (cygthread::stub): Set _ctinfo in _mytls to point to + information for executing thread. Don't call SetEvent if thread is no + longer in use. + (cygthread::simplestub): Ditto. + * cygtls.h (_cygtls::_ctinfo): New element contains pointer to + information about executing cygthread, if any. + * dcrt0.cc: Remove last vestiges of per_thread stuff. + (dll_crt0_0): Ditto. Remove accommodation for ppid_handle. + (do_exit): Remove obsolete reparenting test. + (_exit): Exit with a more SUSv3-like exit value. + * dtable.cc (dtable::stdio_init): Check for myself->cygstarted rather + than myself->ppid_handle to see if we were started by a cygwin process. + * exceptions.cc (open_stackdumpfile): Ditto. + (handle_exceptions): Ditto. + (ctrl_c_handler): Ditto. + (sig_handle_tty_stop): Ditto. Let parent send signal to itself on + STOP. + (sigpacket::process): Comment out vfork test. + (signal_exit): Use more SUSv3-like exit value on signal. + * external.cc (fillout_pinfo): Don't set hProcess. + * fork.cc: Remove VFORK cruft. + (per_thread::set): Delete. + (fork_child): Remove perthread stuff. + (fork_parent): Remove obsolete subproc_init. Accommodate new method + for tracking subprocesses. + * pinfo.cc (set_myself): Accommodate new pinfo/_pinfo layout. Set some + things here that used to be set in wait_sig. + (_pinfo::exit): Set exitcode here. Close process pipe. + (_pinfo::commune_send): Accommodeate new pinfo/_pinfo layout. + (proc_waiter): New function. Waits, in a thread for subprocess to go + away. + (pinfo::wait): New function. Initialization for proc_waiter. + * pinfo.h (_pinfo::exitcode): New element. + (_pinfo::cygstarted): Ditto. + (_pinfo::wr_proc_pipe): Ditto. + (_pinfo::ppid_handle): Delete. + (_pinfo::hProcess): Delete. + (_pinfo::lock): Delete. + (pinfo::hProcess): New element. + (pinfo::lock): Ditto. + (pinfo::wait): Declare new function. + (pinfo::preserve): Define new function. + * sigproc.cc: Remove old stuff from wait_subproc thread based method. + (zombies): Remove. + (procs): New. + (my_parent_is_alive): Just check that the parent pid exists. + (mychild): Just use pinfo methods to determine if child is mine. + (proc_subproc): Revamp PROC_ADDCHILD to use pinfo::wait. Remove + PROC_CHILDTERMINATED logic. Use different method to remove processes + from list when SIGCHLD == SIG_IGN. + (proc_terminate): Gut. + (subproc_init): Delete. + (init_child_info): Remove setting of pppid_handle. + (checkstate): Revamp to only scan procs array. + (remove_proc): Rename from remove_zombie. Don't close hProcess or + pid_handle. Don't release memory if it's myself. + (stopped_or_terminated): Change logic to handle new consolidated + proc/zombie array. + (wait_subproc): Delete. + * sigproc.h: Remove obsolete EXIT_* defines. + (subproc_init): Remove declaration. + * spawn.cc (spawn_guts): Remove reparenting stuff. Use standard wait + logic to wait for child if started from a non-cygwin process. + * tlsoffsets.h: Regenerate. + * tty.cc (tty_init): Check for myself->cygstarted rather than + myself->ppid_handle to see if we were started by a cygwin process. + * include/sys/signal.h (external_pinfo::exitcode): Replace hProcess. + * include/sys/wait.h (WCOREDUMP): Define. + + * fhandler_tty.cc (fhandler_tty_slave::read): Add debugging output for + timeout case. + * signal.cc (abort): Flag that we are exiting with the ABORT signal. + 2004-11-11 Christopher Faylor <cgf@timesys.com> * include/cygwin/version.h: Bump DLL minor number to 13. diff --git a/winsup/cygwin/sigproc.h b/winsup/cygwin/sigproc.h index 8f648b1..8a01a67 100644 --- a/winsup/cygwin/sigproc.h +++ b/winsup/cygwin/sigproc.h @@ -34,9 +34,7 @@ enum procstuff PROC_CHILDTERMINATED = 2, // a child died PROC_CLEARWAIT = 3, // clear all waits - signal arrived PROC_WAIT = 4, // setup for wait() for subproc - PROC_CHILDSTOPPED = 5, // register process as "stopped" - PROC_CHILDCONTINUED = 6, // remove process from "stopped" list - PROC_NOTHING = 7 // nothing, really + PROC_NOTHING = 5 // nothing, really }; struct sigpacket |