diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-04-12 22:35:06 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-04-12 22:35:06 +0000 |
commit | 981c8906fb9d2fc5b2071018a22947a87f6bd5db (patch) | |
tree | 4a7735cfb7d9fc1e4d94c5e3856d76894065b735 /libs/ardour/session.cc | |
parent | ac8c7e427fd778201297469fb6ce189142e29ffa (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.cc | 6 |
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(); |