pipewire/spa/include/spa
Demi Marie Obenour bac3d31283 pod: fix some data races in body code
The body code didn't use atomic loads, so it had undefined behavior if
the body was concurrently modified.  Use atomic loads to fix this.
Since the memory order is __ATOMIC_RELAXED this has no runtime overhead.
Also add barriers around a strncpy call and cast to volatile before
checking for a NUL terminator, though NUL-terminated strings in shared
memory are unuseable.  There are some places where bytewise atomic
memcpy(), which doesn't currently exist, is needed.  Instead, try to
fake it by using two barriers around memcpy().
2025-08-05 10:49:33 -04:00
..
buffer *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
control control: mark the input as const, we don't change it 2025-07-31 10:54:09 +02:00
debug pod: rework the parser 2025-07-29 15:15:02 +02:00
filter-graph *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
graph *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
interfaces/audio add per type API defines 2024-11-26 11:58:51 +01:00
monitor *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
node spa: node: io: fix typo in documentation 2025-07-23 21:26:29 +02:00
param pod: rework the parser 2025-07-29 15:15:02 +02:00
pod pod: fix some data races in body code 2025-08-05 10:49:33 -04:00
support loop: add docs about the locking 2025-06-10 18:00:01 +02:00
utils pod: fix some data races in body code 2025-08-05 10:49:33 -04:00