aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/debug.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2000-11-06 06:36:32 +0000
committerChristopher Faylor <me@cgf.cx>2000-11-06 06:36:32 +0000
commitdd11f11faee36b8999cd6a7d56318e3be289f897 (patch)
treea922d160ecb185296abe958a65beff004280e47b /winsup/cygwin/debug.cc
parente0997f5a0f47ef8af016a6358ebfadbb161c8c56 (diff)
downloadnewlib-dd11f11faee36b8999cd6a7d56318e3be289f897.zip
newlib-dd11f11faee36b8999cd6a7d56318e3be289f897.tar.gz
newlib-dd11f11faee36b8999cd6a7d56318e3be289f897.tar.bz2
* 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.
Diffstat (limited to 'winsup/cygwin/debug.cc')
-rw-r--r--winsup/cygwin/debug.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/winsup/cygwin/debug.cc b/winsup/cygwin/debug.cc
index e25dc1c..ebe207c 100644
--- a/winsup/cygwin/debug.cc
+++ b/winsup/cygwin/debug.cc
@@ -228,7 +228,7 @@ newh ()
goto out;
/* All used up??? */
- if ((hl = (handle_list *)malloc (sizeof *hl)) != NULL)
+ if ((hl = (handle_list *) malloc (sizeof *hl)) != NULL)
{
memset (hl, 0, sizeof (*hl));
hl->allocated = TRUE;
@@ -248,6 +248,7 @@ add_handle (const char *func, int ln, HANDLE h, const char *name)
if ((hl = find_handle (h)))
{
+ hl = hl->next;
system_printf ("%s:%d - multiple attempts to add handle %s<%p>", func,
ln, name, h);
system_printf (" previously allocated by %s:%d(%s<%p>)",