head 1.1; access; symbols pkgsrc-2026Q1:1.1.0.14 pkgsrc-2026Q1-base:1.1 pkgsrc-2025Q4:1.1.0.12 pkgsrc-2025Q4-base:1.1 pkgsrc-2025Q3:1.1.0.10 pkgsrc-2025Q3-base:1.1 pkgsrc-2025Q2:1.1.0.8 pkgsrc-2025Q2-base:1.1 pkgsrc-2025Q1:1.1.0.6 pkgsrc-2025Q1-base:1.1 pkgsrc-2024Q4:1.1.0.4 pkgsrc-2024Q4-base:1.1 pkgsrc-2024Q3:1.1.0.2 pkgsrc-2024Q3-base:1.1; locks; strict; comment @// @; 1.1 date 2024.07.07.14.00.18; author riastradh; state Exp; branches; next ; commitid 7y9BB0CIWgHDDUgF; desc @@ 1.1 log @devel/lua-language-server: Fix fix for futex timespec misuse on NetBSD. Was compile-testing on netbsd-9 which takes a different #ifdef branch. Compile-tested the right branch this time. No new revbump because either this doesn't affect the output, or it wouldn't have built without this change anyway. @ text @$NetBSD$ https://github.com/actboy168/bee.lua/pull/50 --- 3rd/luamake/bee.lua/bee/thread/atomic_sync.cpp.orig 2024-04-23 01:38:34.000000000 +0000 +++ 3rd/luamake/bee.lua/bee/thread/atomic_sync.cpp @@@@ -50,7 +50,10 @@@@ static void futex_wait(const int* ptr, i # if defined(__linux__) ::syscall(SYS_futex, ptr, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, val, timeout, 0, 0); # elif defined(__NetBSD__) - ::syscall(SYS___futex, ptr, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, val, timeout, 0, 0, 0); + struct timespec ts; + ts.tv_sec = timeout->tv_sec; + ts.tv_nsec = timeout->tv_nsec; + ::syscall(SYS___futex, ptr, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, val, &ts, 0, 0, 0); # elif defined(__OpenBSD__) static_assert(sizeof(FutexTimespec) == sizeof(timespec)); ::futex((uint32_t*)const_cast(ptr), FUTEX_WAIT | FUTEX_PRIVATE_FLAG, val, (const timespec*)timeout, 0); @