diff options
author | Robin Gareus <robin@gareus.org> | 2020-04-08 06:26:47 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2020-04-08 15:59:30 +0200 |
commit | cfd95340b18cc90ea9d0c53ddcd3f21407010de3 (patch) | |
tree | 613684ebd2bf47251155e58fa81916c3b2345750 /gtk2_ardour/route_time_axis.cc | |
parent | 911c82ff094420ec2e30e3768361f82b00c14388 (diff) |
Fix exporting multiple range (MacOS)
The actual issue was introduced in 61e7f3176bfd8e:
Session::non_realtime_stop() no longer unsets PostTransportStop
(other changes from that commit are not relevant).
The real issue however is a race-condition.
So far this only seems to happen on MacOS, Coreaudio.
It seems that non_realtime_stop() is called in the butler-thread
after exporting has started, even though the butler has been
paused in wait_until_finished().
Perhaps Coreaudio thread switches causes TransportFSM to
reinitialize and scheduling the butler?
The use of `usleep()` makes this rather a workaround.
However it's sufficient for the coreaudio rt thread to run
at least once.
Diffstat (limited to 'gtk2_ardour/route_time_axis.cc')
0 files changed, 0 insertions, 0 deletions