summaryrefslogtreecommitdiff
path: root/libs/ardour/session_butler.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-07-02 20:03:29 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-07-02 20:03:29 +0000
commit23612a9a4d32b8449325e71aa001266e04ec4dbd (patch)
treea855aaf1885c997bdbe72481c042c891ebc0bd79 /libs/ardour/session_butler.cc
parentc21e78aac379cc117f5de3eb3066eaa77eac826e (diff)
possible fix for NPAE problem
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@7357 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session_butler.cc')
-rw-r--r--libs/ardour/session_butler.cc13
1 files changed, 7 insertions, 6 deletions
diff --git a/libs/ardour/session_butler.cc b/libs/ardour/session_butler.cc
index a3a03507a7..7793c45e5d 100644
--- a/libs/ardour/session_butler.cc
+++ b/libs/ardour/session_butler.cc
@@ -245,6 +245,11 @@ Session::butler_thread_work ()
}
}
+ disk_work_outstanding = false;
+ bytes = 0;
+ compute_io = true;
+
+ restart:
if (transport_work_requested()) {
cerr << "Do transport work\n";
butler_transport_work ();
@@ -253,10 +258,6 @@ Session::butler_thread_work ()
cerr << "no transport work to do\n";
}
- disk_work_outstanding = false;
- bytes = 0;
- compute_io = true;
-
begin = get_microseconds();
boost::shared_ptr<DiskstreamList> dsl = diskstreams.reader ();
@@ -303,7 +304,7 @@ Session::butler_thread_work ()
if (!err && transport_work_requested()) {
cerr << "transport worked is now requested, going back to the start\n";
- continue;
+ goto restart;
}
if (compute_io) {
@@ -358,7 +359,7 @@ Session::butler_thread_work ()
if (!err && transport_work_requested()) {
cerr << "transport worked is now requested, going back to the start 2\n";
- continue;
+ goto restart;
}
if (compute_io) {