diff options
Diffstat (limited to 'winsup/cygwin/cygheap.cc')
-rw-r--r-- | winsup/cygwin/cygheap.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/winsup/cygwin/cygheap.cc b/winsup/cygwin/cygheap.cc index 639f4e662..6c37cb510 100644 --- a/winsup/cygwin/cygheap.cc +++ b/winsup/cygwin/cygheap.cc @@ -628,14 +628,16 @@ init_cygheap::find_tls (int sig) { threadlist_ix = -1; while (++threadlist_ix < (int) nthreads) - if (sigismember (&(threadlist[threadlist_ix]->sigwait_mask), sig)) + if (threadlist[threadlist_ix]->tid + && sigismember (&(threadlist[threadlist_ix]->sigwait_mask), sig)) { t = cygheap->threadlist[threadlist_ix]; goto out; } threadlist_ix = -1; while (++threadlist_ix < (int) nthreads) - if (!sigismember (&(threadlist[threadlist_ix]->sigmask), sig)) + if (threadlist[threadlist_ix]->tid + && !sigismember (&(threadlist[threadlist_ix]->sigmask), sig)) { t = cygheap->threadlist[threadlist_ix]; break; |