OSDN Git Service

* exceptions.cc (_threadinfo::interrupt_now): Avoid double call to sigdelayed.
authorcgf <cgf>
Sat, 3 Jan 2004 20:57:10 +0000 (20:57 +0000)
committercgf <cgf>
Sat, 3 Jan 2004 20:57:10 +0000 (20:57 +0000)
* pinfo.cc (_pinfo::commune_send): Avoid inexplicable test which caused most
pids to be shown as "<defunct>" on Win9x.

winsup/cygwin/ChangeLog
winsup/cygwin/exceptions.cc
winsup/cygwin/pinfo.cc

index 983ff57..e970723 100644 (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
index 9795530..669b516 100644 (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 ()
 {
index 4ce702e..834fa85 100644 (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;