summaryrefslogtreecommitdiffstats
path: root/lib/libpthread/thread/thr_sig.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libpthread/thread/thr_sig.c')
-rw-r--r--lib/libpthread/thread/thr_sig.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/libpthread/thread/thr_sig.c b/lib/libpthread/thread/thr_sig.c
index 01b0914..26c1317 100644
--- a/lib/libpthread/thread/thr_sig.c
+++ b/lib/libpthread/thread/thr_sig.c
@@ -750,10 +750,12 @@ _thr_sig_check_pending(struct pthread *curthread)
{
ucontext_t uc;
volatile int once;
+ int errsave;
if (THR_IN_CRITICAL(curthread))
return;
+ errsave = errno;
once = 0;
THR_GETCONTEXT(&uc);
if (once == 0) {
@@ -761,6 +763,7 @@ _thr_sig_check_pending(struct pthread *curthread)
curthread->check_pending = 0;
_thr_sig_rundown(curthread, &uc, NULL);
}
+ errno = errsave;
}
#ifndef SYSTEM_SCOPE_ONLY
OpenPOWER on IntegriCloud