[newlib-cygwin/cygwin-3_3-branch] Cygwin: raise: fix check for multithreaded process
Corinna Vinschen
corinna@sourceware.org
Mon Nov 22 11:51:58 GMT 2021
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=86c362243244043346730403138bec94d54db33c
commit 86c362243244043346730403138bec94d54db33c
Author: Corinna Vinschen <corinna@vinschen.de>
Date: Mon Nov 22 12:33:47 2021 +0100
Cygwin: raise: fix check for multithreaded process
The check for the pthread self pointer in TLS is misleading,
given the main thread has this pointer initialized as well.
Check for the global __isthreaded flag as well.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diff:
---
winsup/cygwin/signal.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/winsup/cygwin/signal.cc b/winsup/cygwin/signal.cc
index bd1168e90..f4b468664 100644
--- a/winsup/cygwin/signal.cc
+++ b/winsup/cygwin/signal.cc
@@ -301,7 +301,7 @@ extern "C" int
raise (int sig)
{
pthread *thread = _my_tls.tid;
- if (!thread)
+ if (!thread || !__isthreaded)
return kill (myself->pid, sig);
return pthread_kill (thread, sig);
}
More information about the Cygwin-cvs
mailing list