summaryrefslogtreecommitdiff
path: root/libs/ardour/session.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-04-12 22:35:06 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-04-12 22:35:06 +0000
commit981c8906fb9d2fc5b2071018a22947a87f6bd5db (patch)
tree4a7735cfb7d9fc1e4d94c5e3856d76894065b735 /libs/ardour/session.cc
parentac8c7e427fd778201297469fb6ce189142e29ffa (diff)
alignment/capture/positioning changes ported from 2.X
git-svn-id: svn://localhost/ardour2/branches/3.0@6886 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r--libs/ardour/session.cc6
1 files changed, 1 insertions, 5 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index 22d2fc8037..21ed454c29 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -28,11 +28,9 @@
#include <unistd.h>
#include <limits.h>
-
#include <glibmm/thread.h>
#include <glibmm/miscutils.h>
#include <glibmm/fileutils.h>
-#include <glibmm/thread.h>
#include "pbd/error.h"
#include "pbd/boost_debug.h"
@@ -1043,9 +1041,7 @@ Session::disable_record (bool rt_context, bool force)
void
Session::step_back_from_record ()
{
- /* XXX really atomic compare+swap here */
- if (g_atomic_int_get (&_record_status) == Recording) {
- g_atomic_int_set (&_record_status, Enabled);
+ if (g_atomic_int_compare_and_exchange (&_record_status, Recording, Enabled)) {
if (Config->get_monitoring_model() == HardwareMonitoring && config.get_auto_input()) {
boost::shared_ptr<DiskstreamList> dsl = diskstreams.reader();