ardour/libs
Hector Martin f87de76b9f
RCU: Fix race condition between writer/reader
This uses an atomic counter and spins only on the writer side, which
preserves realtime behavior on the reader side. The spinning yields (by
using the same Boost function from Boost spinlocks) to be
scheduler-friendly.

Fixing this bug also lets us be able to confidently drop garbage early
in the writer if appropriate, so do that and avoid keeping dead wood if
possible.

This reverts commit f95439a502:
"add spinlock to RCU manager to protect concurrent reader() and update() calls"
2020-11-10 17:05:16 +01:00
..
appleutility NO-OP: fix some Wimplicit-fallthrough 2019-09-18 17:37:54 +02:00
ardour Add sanity assert in MidiBuffer::insert_event to check for overflow 2020-11-10 21:03:42 +09:00
ardouralsautil Tweak ALSA nperiod setting, fallback to nearest 2020-04-29 23:56:24 +02:00
audiographer Use unique target names for unit-test build rules 2020-10-16 02:31:39 +02:00
backends Update jackd.exe registry key 2020-11-09 20:06:49 +01:00
canvas Fix polygon redrawing -- #8148 2020-07-09 02:10:28 +02:00
clearlooks-newer Special case checkbox border color in Treeview 2020-01-25 03:40:04 +01:00
evoral ARM 32bit enum alignment (used in MIDIBuffer) 2020-09-28 01:21:43 +02:00
fluidsynth Amend previous commit, fluidsynth tables 2019-12-03 00:23:54 +01:00
fst VST3: verbose scan option 2020-11-02 01:57:03 +01:00
gtkmm2ext Transmitter::Debug implementation 1/2 2020-10-13 21:58:26 +02:00
hidapi remove use of hardcoded -fPIC compiler flag, and use compiler flag dict instead 2018-10-14 22:06:11 -04:00
libltc Fix use of doxygen documented parameters in running text 2019-09-30 06:30:11 +02:00
lua Fix some doxygen warnings 2020-03-02 17:58:03 +01:00
midi++2 Transmitter::Debug implementation 1/2 2020-10-13 21:58:26 +02:00
panners NO-OP: whitespace 2020-03-23 17:38:08 +01:00
pbd RCU: Fix race condition between writer/reader 2020-11-10 17:05:16 +01:00
plugins Re-brand a-* plugins as Ardour Community Effects (ACE) 2020-09-30 21:59:20 +02:00
ptformat ptformat: Update to upstream 55f08d8 (simplify version detection) 2020-02-09 17:55:48 +11:00
qm-dsp Do not install static libs 2020-01-22 02:00:25 +01:00
surfaces Generic Midi encoders fixed 2020-10-24 16:06:04 -07:00
temporal Further change needed for 'libtemporal' 2020-05-29 12:28:13 +01:00
vamp-plugins Update EBU VAMP plugin, report max short/mometary loudness 2020-07-20 05:16:04 +02:00
vamp-pyin Fix -Wsign-compare 2019-09-03 05:01:59 +02:00
vfork Update utility and tools GPL boilerplate and (C) from git log 2019-08-03 15:53:17 +02:00
vst3 VST3: Add PreSonus Plug-In Extensions 2020-10-08 15:36:35 +02:00
waveview Set thread-names (libs) 2020-03-29 14:56:22 +02:00
widgets Increase precision of numeric dB entry 2020-08-01 09:57:18 +02:00
zita-convolver Consolidate stack-size and priority of rt-threads 2020-04-23 01:28:58 +02:00
zita-resampler NO-OP fix typo in comment and header guard 2020-03-26 19:00:41 +01:00