mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-10 00:34:59 +01:00
Taking a readlock after a writelock in the same thread should result in a deadlock, yet pthread on Linux returns EDEADLK and continues. glib-2.42.0 ignores EDEADLK and assumes the lock was taken. Releasing the lock later causes issues: "Calling g_rw_lock_writer_unlock() on a lock that is not held by the current thread leads to undefined behaviour." The issue at hand: AudioStreamView::redisplay_track() -> foreach_region() #<< WriteLock -> add_region_view() ... -> AudioRegionView::create_one_wave() -> RegionView::update_coverage_frames -> Playlist::top_unmuted_region_at() #<< ReadLock All current users of Playlist::foreach_region() are in the GUI and AFAICT read-only (display regions, update visuals) |
||
|---|---|---|
| .. | ||
| appleutility | ||
| ardour | ||
| ardouralsautil | ||
| audiographer | ||
| backends | ||
| canvas | ||
| clearlooks-newer | ||
| clearlooks-older | ||
| evoral | ||
| fst | ||
| gtkmm2ext | ||
| libltc | ||
| midi++2 | ||
| panners | ||
| pbd | ||
| plugins/reasonablesynth.lv2 | ||
| ptformat | ||
| qm-dsp | ||
| surfaces | ||
| timecode | ||
| vamp-plugins | ||
| vfork | ||