mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-04 02:18:37 +00:00
drd: Remove a too strict assert() statement
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11937
This commit is contained in:
parent
fe979eb8e9
commit
85a61a6c6f
@ -196,12 +196,10 @@ static void DRD_(sema_down)(DrdSema* sema)
|
||||
while (sema->counter == 0) {
|
||||
#if defined(__linux__) && defined(__NR_futex)
|
||||
if (syscall(__NR_futex, (UWord)&sema->counter,
|
||||
FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0) == 0) {
|
||||
FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0) == 0)
|
||||
res = 0;
|
||||
} else {
|
||||
else
|
||||
res = errno;
|
||||
assert(res == EWOULDBLOCK || res == ENOSYS);
|
||||
}
|
||||
#endif
|
||||
/*
|
||||
* Invoke sched_yield() on non-Linux systems, if the futex syscall has
|
||||
@ -209,7 +207,7 @@ static void DRD_(sema_down)(DrdSema* sema)
|
||||
* where __NR_futex is defined and is run on a Linux system that does
|
||||
* not support the futex syscall.
|
||||
*/
|
||||
if (res == ENOSYS)
|
||||
if (res != 0 && res != EWOULDBLOCK)
|
||||
sched_yield();
|
||||
}
|
||||
sema->counter--;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user