]> sigrok.org Git - pulseview.git/blobdiff - pv/sigsession.cpp
Renamed pv::SigSession::_state_mutex to pv::SigSession::_sampling_mutex
[pulseview.git] / pv / sigsession.cpp
index 3566807e633fe07f14e2b587362e29bbd6a24d44..adad2c5ee0cc51304f928e92445471d7ef88c2d8 100644 (file)
@@ -64,7 +64,7 @@ void SigSession::load_file(const string &name)
 
 SigSession::capture_state SigSession::get_capture_state() const
 {
-       lock_guard<mutex> lock(_state_mutex);
+       lock_guard<mutex> lock(_sampling_mutex);
        return _capture_state;
 }
 
@@ -105,7 +105,7 @@ boost::shared_ptr<LogicData> SigSession::get_data()
 
 void SigSession::set_capture_state(capture_state state)
 {
-       lock_guard<mutex> lock(_state_mutex);
+       lock_guard<mutex> lock(_sampling_mutex);
        _capture_state = state;
        capture_state_changed(state);
 }
@@ -206,6 +206,26 @@ void SigSession::feed_in_meta_logic(const struct sr_dev_inst *sdi,
        }
 }
 
+void SigSession::feed_in_logic(const sr_datafeed_logic &logic)
+{
+       lock_guard<mutex> lock(_data_mutex);
+       if (!_cur_logic_snapshot)
+       {
+               // Create a new data snapshot
+               _cur_logic_snapshot = shared_ptr<LogicDataSnapshot>(
+                       new LogicDataSnapshot(logic));
+               _logic_data->push_snapshot(_cur_logic_snapshot);
+       }
+       else
+       {
+               // Append to the existing data snapshot
+               _cur_logic_snapshot->append_payload(logic);
+       }
+
+       data_updated();
+}
+
+
 void SigSession::data_feed_in(const struct sr_dev_inst *sdi,
        const struct sr_datafeed_packet *packet)
 {
@@ -227,27 +247,9 @@ void SigSession::data_feed_in(const struct sr_dev_inst *sdi,
                break;
 
        case SR_DF_LOGIC:
-       {
-               lock_guard<mutex> lock(_data_mutex);
                assert(packet->payload);
-               if (!_cur_logic_snapshot)
-               {
-                       // Create a new data snapshot
-                       _cur_logic_snapshot = shared_ptr<LogicDataSnapshot>(
-                               new LogicDataSnapshot(
-                               *(sr_datafeed_logic*)packet->payload));
-                       _logic_data->push_snapshot(_cur_logic_snapshot);
-               }
-               else
-               {
-                       // Append to the existing data snapshot
-                       _cur_logic_snapshot->append_payload(
-                               *(sr_datafeed_logic*)packet->payload);
-               }
-
-               data_updated();
+               feed_in_logic(*(const sr_datafeed_logic*)packet->payload);
                break;
-       }
 
        case SR_DF_END:
        {