diff options
author | Christopher Faylor <me@cgf.cx> | 2006-03-18 19:28:59 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2006-03-18 19:28:59 +0000 |
commit | 3b69aaa9326376641b02e43556b6c9c706c7467f (patch) | |
tree | b7f5e28899255acdceca4d58e15f453681ea0d9c /winsup/cygwin/sigproc.cc | |
parent | a939686807dd8e832939fddf514040fdba7077d8 (diff) | |
download | cygnal-3b69aaa9326376641b02e43556b6c9c706c7467f.tar.gz cygnal-3b69aaa9326376641b02e43556b6c9c706c7467f.tar.bz2 cygnal-3b69aaa9326376641b02e43556b6c9c706c7467f.zip |
* 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.cc | 4 |
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 */ |