13
0
livetrax/libs/pbd
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
..
boost-debug
msvc
MSVCpbd Moving Controllable::set_interface() into a 'cc' file makes it easier to fix our MSVC build issue (with min + max) 2020-06-20 09:38:00 +01:00
pbd RCU: Fix race condition between writer/reader 2020-11-10 17:05:16 +01:00
test Fix RCU Unit-test on macOS/X 2020-11-07 10:37:52 +01:00
base_ui.cc
basename.cc
boost_debug.cc
cartesian.cc
ChangeLog
cocoa_open_uri.mm
command.cc
configuration_variable.cc
controllable.cc fixed typo 2020-08-19 19:02:37 +02:00
convert.cc
COPYING
cpus.cc
crossthread.cc
crossthread.posix.cc
crossthread.win.cc Some initial changes (currently for libpbd only) to help a new contributer who's trying to build with MSVC2017 2020-03-26 10:40:36 +00:00
debug_rt_alloc.c
debug.cc Add debug transmitter 2020-10-13 21:27:16 +02:00
demangle.cc
enums.cc Add flag to explicitly hide a control 2020-03-18 18:16:29 +01:00
enumwriter.cc
epa.cc
error.cc Add debug transmitter 2020-10-13 21:27:16 +02:00
event_loop.cc
ffs.cc
file_archive.cc Extend FileArchive to import archive entries individually 2020-04-05 16:34:48 +02:00
file_utils.cc Use soundtouch for vocal audio time stretching (1/2) 2020-08-26 19:04:58 +02:00
fpu.cc Fix ARM runtime NEON detection 2020-08-24 22:03:28 +02:00
gettext.h
id.cc
libpbd.pc.in
libpbd.spec.in
locale_guard.cc
localtime_r.cc
malign.cc Fix alignment unit-tests and ARM/NEON alignment 2020-10-15 03:55:42 +02:00
md5.cc
mountpoint.cc
openuri.cc Handle vfork/exec failure 2020-10-31 22:33:10 +01:00
pathexpand.cc
pbd.cc remove old, undocumented mechanism to set PBD::DEBUG flags from environment variable 2020-03-25 10:36:10 -06:00
pool.cc
property_list.cc
pthread_utils.cc Only try using __pthread_get_minstack on glibc 2020-06-09 17:39:24 +02:00
reallocpool.cc
receiver.cc
resource.cc
run-tests.sh
search_path.cc
semutils.cc
shortpath.cc
signals.cc
spinlock.cc
stacktrace.cc Fix 'samples / frames' typo in PBD::stacktrace() 2020-02-29 14:38:58 +00:00
stateful_diff_command.cc NO-OP: whitespace, re-indent 2020-02-28 06:08:26 +01:00
stateful.cc
string_convert.cc
strreplace.cc
strsplit.cc
system_exec.cc Handle vfork/exec failure 2020-10-31 22:33:10 +01:00
textreceiver.cc Add debug transmitter 2020-10-13 21:27:16 +02:00
timer.cc
timing.cc Some initial changes (currently for libpbd only) to help a new contributer who's trying to build with MSVC2017 2020-03-26 10:40:36 +00:00
tlsf.cc
transmitter.cc Add debug transmitter 2020-10-13 21:27:16 +02:00
undo.cc
uuid.cc
whitespace.cc
windows_mmcss.cc
windows_special_dirs.cc Add an extra option when querying Windows registry keys 2020-11-09 11:35:35 +00:00
windows_timer_utils.cc
wscript Add RCU unit test 2020-11-05 02:24:54 +01:00
xml++.cc Fix builds, missing include 2020-04-24 01:53:59 +02:00