From dd11f11faee36b8999cd6a7d56318e3be289f897 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Mon, 6 Nov 2000 06:36:32 +0000 Subject: * child_info.h (child_info): Add pppid_handle for closing the parent's of the parent handle. * dcrt0.cc (_dll_crt0): Close parent's parent handle when spawned or forked. * debug.cc (add_handle): Correct erroneous reference to handle structure when printing warning. * exceptions.cc (interrupt_now): Always return 1. (interrupt_on_return): Accept a sigthread argument. Check to see if this argument has been trashed prior to setting up the stack return. (call_handler): Add a loop around attempts to dispatch signals to detect case where interrupt_on_return fails. (_sigdelayed): Set up a temporary frame pointer prior to calling stuff that could trigger an interrupt or the stack walking code will be very confused. * fork.cc (fork_parent): Move a lot of the setup of the child process into proc_subproc. * spawn.cc (spawn_guts): Ditto. Use ppid_handle to contact logical parent when reparenting. * pinfo.h (_pinfo): Remember the logical handle of the parent process. * sigproc.cc (proc_subproc): Record most stuff necessary for the _pinfo structure that is inferrable from myself when adding children. (wait_sig): Always set 'pending_signals' flag when about to kick off the signal scanning loop. Reset it only if there are no pending signals. --- winsup/cygwin/pinfo.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'winsup/cygwin/pinfo.h') diff --git a/winsup/cygwin/pinfo.h b/winsup/cygwin/pinfo.h index b078c9bb1..2ff4ba589 100644 --- a/winsup/cygwin/pinfo.h +++ b/winsup/cygwin/pinfo.h @@ -44,6 +44,9 @@ public: /* Handle associated with initial Windows pid which started it all. */ HANDLE pid_handle; + /* Handle to the logical parent of this pid. */ + HANDLE ppid_handle; + /* Parent process id. */ pid_t ppid; -- cgit v1.2.3