projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Session: Converted data_mutex_ into a std::recursive_mutex
[pulseview.git]
/
pv
/
session.cpp
diff --git
a/pv/session.cpp
b/pv/session.cpp
index dd78f4a176088ebb69cc5089558b4d310a7d4415..e187a4d35245aecefe25b344433346595664c1f4 100644
(file)
--- a/
pv/session.cpp
+++ b/
pv/session.cpp
@@
-60,6
+60,7
@@
using std::lock_guard;
using std::list;
using std::map;
using std::mutex;
using std::list;
using std::map;
using std::mutex;
+using std::recursive_mutex;
using std::set;
using std::shared_ptr;
using std::string;
using std::set;
using std::shared_ptr;
using std::string;
@@
-322,7
+323,7
@@
void Session::update_signals()
// Create data containers for the logic data segments
{
// Create data containers for the logic data segments
{
- lock_guard<mutex> data_lock(data_mutex_);
+ lock_guard<
recursive_
mutex> data_lock(data_mutex_);
if (logic_channel_count == 0) {
logic_data_.reset();
if (logic_channel_count == 0) {
logic_data_.reset();
@@
-480,7
+481,7
@@
void Session::feed_in_frame_begin()
void Session::feed_in_logic(shared_ptr<Logic> logic)
{
void Session::feed_in_logic(shared_ptr<Logic> logic)
{
- lock_guard<mutex> lock(data_mutex_);
+ lock_guard<
recursive_
mutex> lock(data_mutex_);
if (!logic_data_)
{
if (!logic_data_)
{
@@
-530,7
+531,7
@@
void Session::feed_in_logic(shared_ptr<Logic> logic)
void Session::feed_in_analog(shared_ptr<Analog> analog)
{
void Session::feed_in_analog(shared_ptr<Analog> analog)
{
- lock_guard<mutex> lock(data_mutex_);
+ lock_guard<
recursive_
mutex> lock(data_mutex_);
const vector<shared_ptr<Channel>> channels = analog->channels();
const unsigned int channel_count = channels.size();
const vector<shared_ptr<Channel>> channels = analog->channels();
const unsigned int channel_count = channels.size();
@@
-634,7
+635,7
@@
void Session::data_feed_in(shared_ptr<sigrok::Device> device,
case SR_DF_END:
{
{
case SR_DF_END:
{
{
- lock_guard<mutex> lock(data_mutex_);
+ lock_guard<
recursive_
mutex> lock(data_mutex_);
cur_logic_segment_.reset();
cur_analog_segments_.clear();
}
cur_logic_segment_.reset();
cur_analog_segments_.clear();
}