]> git.proxmox.com Git - wasi-libc.git/commitdiff
__wait.c: fix a timeout (#361)
authorYAMAMOTO Takashi <yamamoto@midokura.com>
Tue, 13 Dec 2022 20:07:33 +0000 (05:07 +0900)
committerFabian Grünbichler <f.gruenbichler@proxmox.com>
Wed, 2 Aug 2023 10:24:08 +0000 (12:24 +0200)
Note: The typical symptom of this bug is a busy waiting on a lock.

Note: 0 means immediate timeout. a negative value means no timeout.

libc-top-half/musl/src/thread/__wait.c

index c0e4aac796cfd6cf4d5b2eda977246f01109e097..7ffa9872d954e748225bf26ac5e6d9a83bfc8fe1 100644 (file)
@@ -48,7 +48,7 @@ void __wait(volatile int *addr, volatile int *waiters, int val, int priv)
                __syscall(SYS_futex, addr, FUTEX_WAIT|priv, val, 0) != -ENOSYS
                || __syscall(SYS_futex, addr, FUTEX_WAIT, val, 0);
 #else
-               __wasilibc_futex_wait(addr, FUTEX_WAIT, val, 0);
+               __wasilibc_futex_wait(addr, FUTEX_WAIT, val, -1);
 #endif
        }
        if (waiters) a_dec(waiters);