Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog7
-rw-r--r--winsup/cygwin/exceptions.cc3
-rw-r--r--winsup/cygwin/pinfo.cc2
3 files changed, 9 insertions, 3 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 983ff57fe..e970723bc 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -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
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc
index 97955307b..669b516ab 100644
--- a/winsup/cygwin/exceptions.cc
+++ b/winsup/cygwin/exceptions.cc
@@ -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 ()
{
diff --git a/winsup/cygwin/pinfo.cc b/winsup/cygwin/pinfo.cc
index 4ce702e6a..834fa8574 100644
--- a/winsup/cygwin/pinfo.cc
+++ b/winsup/cygwin/pinfo.cc
@@ -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;