* exceptions.cc (_threadinfo::interrupt_now): Avoid double call to sigdelayed.

* pinfo.cc (_pinfo::commune_send): Avoid inexplicable test which caused most
pids to be shown as "<defunct>" on Win9x.
This commit is contained in:
Christopher Faylor 2004-01-03 20:57:11 +00:00
parent c0bece84cd
commit 0efff769fd
3 changed files with 9 additions and 3 deletions

View File

@ -1,3 +1,10 @@
2004-01-03 Christopher Faylor <cgf@redhat.com>
* exceptions.cc (_threadinfo::interrupt_now): Avoid double call to
sigdelayed.
* pinfo.cc (_pinfo::commune_send): Avoid inexplicable test which caused
most pids to be shown as "<defunct>" on Win9x.
2004-01-02 Christopher Faylor <cgf@redhat.com>
* cygheap.h (init_cygheap): Play more vfork shell games and move

View File

@ -675,7 +675,7 @@ _threadinfo::interrupt_now (CONTEXT *ctx, int sig, void *handler,
{
push (0);
interrupt_setup (sig, handler, siga, (__stack_t) ctx->Eip);
ctx->Eip = (DWORD) sigdelayed;
ctx->Eip = pop ();
SetThreadContext (*this, ctx); /* Restart the thread in a new location */
return 1;
}
@ -1133,7 +1133,6 @@ call_signal_handler_now ()
return sa_flags & SA_RESTART;
}
#define pid_offset (unsigned)(((_pinfo *)NULL)->pid)
void __stdcall
reset_signal_arrived ()
{

View File

@ -435,7 +435,7 @@ _pinfo::commune_send (DWORD code, ...)
res.s = NULL;
res.n = 0;
if (!pid || !this || (dwProcessId != (DWORD) pid && !pinfo (myself->dwProcessId)))
if (!this || !pid)
{
set_errno (ESRCH);
goto err;