Merge pull request #2293 from colrdavidson/fix_futexes
fix futex error handling
This commit is contained in:
1 file changed
+2
@@ -562,6 +562,7 @@ gb_internal void tpool_wake_addr(Futex *addr) {
|
|||||||
if (ret >= 0) {
|
if (ret >= 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
ret = -ret;
|
||||||
if (ret == EINTR || ret == EFAULT) {
|
if (ret == EINTR || ret == EFAULT) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -581,6 +582,7 @@ gb_internal void tpool_wait_on_addr(Futex *addr, Footex val) {
|
|||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
ret = -ret;
|
||||||
if (ret == EINTR || ret == EFAULT) {
|
if (ret == EINTR || ret == EFAULT) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user