mirror of
git://git.musl-libc.org/musl
synced 2025-02-08 15:06:57 +00:00
in our memory model, all atomics are supposed to be full barriers;
stores are not release-only. this is important because store is used
as an unlock operation in places where it needs to acquire the waiter
count to determine if a futex wake is needed. at least in the
malloc-internal locks, but possibly elsewhere, soft deadlocks from
missing futex wake (breakable by poking the threads to restart the
syscall, e.g. by attaching a tracer) were reported to occur.
once the malloc lock is replaced with Jens Gustedt's new lock
implementation (see commit
|
||
---|---|---|
.. | ||
bits | ||
atomic_arch.h | ||
crt_arch.h | ||
pthread_arch.h | ||
reloc.h | ||
syscall_arch.h |