aboutsummaryrefslogtreecommitdiffstats
path: root/src/ioops.c
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2008-09-07 19:14:50 +0200
committerMax Kellermann <max@duempel.org>2008-09-07 19:14:50 +0200
commit18fc10a92647f06aba065b80a4de219facf5d550 (patch)
tree077ca9e3340f78a9233d42bf0f06517d40f7a0a5 /src/ioops.c
parenta5f68b3cfc51ecb21817fcbf23c79f9a0953ba71 (diff)
downloadmpd-18fc10a92647f06aba065b80a4de219facf5d550.tar.gz
mpd-18fc10a92647f06aba065b80a4de219facf5d550.tar.xz
mpd-18fc10a92647f06aba065b80a4de219facf5d550.zip
audio_format: volatile removal
volatile provides absolutely no guarantee thread-safety in SMP environments. volatile was designed to access memory locations in peripheral hardware directly; not for SMP. If volatile is needed to work properly on SMP, then it is only hiding subtle bugs. volatile only prevents the /compiler/ from making optimizations when accessing variables. CPUs do their own optimizations at runtime so it cannot guarantee registers of CPUs are flushed to memory cache-coherent access on different CPUs. Furthermore, the thread-communication via condition variables between threads sharing audio formats already results in memory barriers.
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions