diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 0cabdd6c3..d6c4f624b 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +Thu Oct 5 00:48:40 2000 Christopher Faylor + + * exceptions.cc (interruptible): Add extra debugging. + * sigproc.h (wait_sig): Fill in frame pointer, by default, prior to + calling or suffer confusion due to September 7 change below. + Wed Oct 4 23:10:27 2000 Christopher Faylor * include/netinet/tcp.h: Remove winsock.h include. diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index 5fcb69ae9..187e937a7 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -593,7 +593,7 @@ interruptible (DWORD pc, int testvalid = 0) MEMORY_BASIC_INFORMATION m; memset (&m, 0, sizeof m); if (!VirtualQuery ((LPCVOID) pc, &m, sizeof m)) - sigproc_printf ("couldn't get memory info, %E"); + sigproc_printf ("couldn't get memory info, pc %p, %E", pc); char *checkdir = (char *) alloca (windows_system_directory_length + 4); memset (checkdir, 0, sizeof (checkdir)); diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index 7bb0309a0..99ed89ce9 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -1270,6 +1270,7 @@ wait_sig (VOID *) { if (sig == SIGCHLD) saw_sigchld = 1; + if (sig > 0 && sig != SIGCONT && sig != SIGKILL && sig != SIGSTOP && (sigismember (& myself->getsigmask (), sig) || myself->process_state & PID_STOPPED)) diff --git a/winsup/cygwin/sigproc.h b/winsup/cygwin/sigproc.h index 9dd3ce8ca..b852d278d 100644 --- a/winsup/cygwin/sigproc.h +++ b/winsup/cygwin/sigproc.h @@ -100,7 +100,7 @@ void __stdcall subproc_init (); void __stdcall sigproc_terminate (); BOOL __stdcall proc_exists (_pinfo *); BOOL __stdcall pid_exists (pid_t); -int __stdcall sig_send (_pinfo *, int, DWORD ebp = 0); +int __stdcall sig_send (_pinfo *, int, DWORD ebp = (DWORD) __builtin_frame_address (0)); void __stdcall signal_fixup_after_fork (); extern char myself_nowait_dummy[];