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
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2006-03-18 22:28:59 +0300
committerChristopher Faylor <me@cgf.cx>2006-03-18 22:28:59 +0300
commit3b69aaa9326376641b02e43556b6c9c706c7467f (patch)
treeb7f5e28899255acdceca4d58e15f453681ea0d9c /winsup/cygwin/sigproc.cc
parenta939686807dd8e832939fddf514040fdba7077d8 (diff)
* pinfo.h (EXITCODE_OK): Define new constant.
* sigproc.cc (child_info::sync): Return EXITCODE_OK if entering with exit_code == 0. (sig_send): Don't complain if sending signals while blocked if the sender isn't in the main thread.
Diffstat (limited to 'winsup/cygwin/sigproc.cc')
-rw-r--r--winsup/cygwin/sigproc.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc
index a213a5607..a82e90002 100644
--- a/winsup/cygwin/sigproc.cc
+++ b/winsup/cygwin/sigproc.cc
@@ -520,7 +520,7 @@ sig_send (_pinfo *p, int sig)
SetEvent (sigCONT);
sigheld = false;
}
- else
+ else if (&_my_tls == _main_tls)
{
#ifdef DEBUGGING
system_printf ("signal %d sent to %p while signals are on hold", sig, p);
@@ -886,6 +886,8 @@ child_info::sync (pid_t pid, HANDLE& hProcess, DWORD howlong)
DWORD
child_info::proc_retry (HANDLE h)
{
+ if (!exit_code)
+ return EXITCODE_OK;
switch (exit_code)
{
case STILL_ACTIVE: /* shouldn't happen */