commit | 4b85ca66d0df7dd17066f778f4663b192705efe8 | [log] [tgz] |
---|---|---|
author | ktopley-apple <ktopley@apple.com> | Tue Feb 05 15:34:33 2019 -0800 |
committer | GitHub <noreply@github.com> | Tue Feb 05 15:34:33 2019 -0800 |
tree | 4f4c8a065552fecff12443a37d6f7ed88f321cea | |
parent | 81c9bf6fdcee4e9ff86465c1d8c883392ca289a4 [diff] | |
parent | 3ec48298d6f6c6f7f1c30036d67b1d1b76a92375 [diff] |
Merge pull request #442 from gmilos/SR-9863-sem-wait-signal-interrupt-fix Retry sem_wait on signal interrupts
diff --git a/src/shims/lock.c b/src/shims/lock.c index 27b0c10..e1b94dc 100644 --- a/src/shims/lock.c +++ b/src/shims/lock.c
@@ -203,7 +203,10 @@ void _dispatch_sema4_wait(_dispatch_sema4_t *sema) { - int ret = sem_wait(sema); + int ret = 0; + do { + ret = sem_wait(sema); + } while (ret == -1 && errno == EINTR); DISPATCH_SEMAPHORE_VERIFY_RET(ret); }