Robin Gareus 27f57cde9a fix crashes due to glib ignored EDEADLK.
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)
2015-10-12 02:11:04 +02:00
2015-07-05 14:50:13 +02:00
2015-10-01 21:57:27 +02:00
2009-11-09 14:13:59 +00:00
2013-03-12 13:32:56 -04:00
2015-05-09 13:08:56 -04:00
2013-03-13 14:35:39 -04:00
2015-07-21 01:12:39 +02:00
2011-11-21 23:21:05 +00:00
2015-09-28 15:40:26 +02:00

Please see the Ardour web site at http://ardour.org/ for all documentation..

For information on building ardour: 
      
     http://ardour.org/development.html
Description
No description provided
Readme 202 MiB
Languages
C++ 56.5%
C 39.6%
JavaScript 1.3%
Lua 0.9%
Python 0.6%
Other 0.9%