#include <libsigrok/libsigrok.hpp>
+using boost::shared_lock;
+using boost::shared_mutex;
+
using std::deque;
using std::dynamic_pointer_cast;
using std::lock_guard;
{
set< shared_ptr<data::SignalData> > data_set =
_session.get_data();
- const vector< shared_ptr<view::Signal> > sigs =
- _session.get_signals();
+
+ shared_lock<shared_mutex> lock(_session.signals_mutex());
+ const vector< shared_ptr<view::Signal> > &sigs(_session.signals());
// Check we have logic data
if (data_set.empty() || sigs.empty()) {