[Summary] Fixed race condition: "should_do_transport_work" must not be dropped to...
authorGZharun <grygoriiz@wavesglobal.com>
Wed, 25 Feb 2015 01:02:28 +0000 (03:02 +0200)
committerPaul Davis <paul@linuxaudiosystems.com>
Mon, 29 Jun 2015 18:18:12 +0000 (14:18 -0400)
commit87f1c66ba1d33903662d44dabed032272827e7fd
tree498cb40120f85b3603408a687ee45e2a664a624e
parent7ef5aea50037b9a8e53b796fa112a3d516ddacb1
[Summary] Fixed race condition: "should_do_transport_work" must not be dropped to 0 outside, it's illegal. It may cause "should_do_transport_work" go below 0 and make butler to round for a very-very long time (hang and possible lock of other threads) before stop() call returns.

_butler->stop () is synchronous, so its safe to wait in this call for butler to finish it's work.

[Reviewed by] PDavis
libs/ardour/session_transport.cc