Skip to content

Commit 4b85ca6

Browse files
Merge pull request #442 from gmilos/SR-9863-sem-wait-signal-interrupt-fix
Retry sem_wait on signal interrupts
2 parents 81c9bf6 + 3ec4829 commit 4b85ca6

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/shims/lock.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,10 @@ _dispatch_sema4_signal(_dispatch_sema4_t *sema, long count)
203203
void
204204
_dispatch_sema4_wait(_dispatch_sema4_t *sema)
205205
{
206-
int ret = sem_wait(sema);
206+
int ret = 0;
207+
do {
208+
ret = sem_wait(sema);
209+
} while (ret == -1 && errno == EINTR);
207210
DISPATCH_SEMAPHORE_VERIFY_RET(ret);
208211
}
209212

0 commit comments

Comments
 (0)