projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
SigSession: Added signals_mutex(), and made signals() give a reference
[pulseview.git]
/
pv
/
storesession.cpp
diff --git
a/pv/storesession.cpp
b/pv/storesession.cpp
index 484f1ff60f2547cad7924f10c9e1dd202958e7a4..95b8da8738a33f8c808633df283b7190ea6b6d70 100644
(file)
--- a/
pv/storesession.cpp
+++ b/
pv/storesession.cpp
@@
-79,8
+79,9
@@
bool StoreSession::start()
{
set< shared_ptr<data::SignalData> > data_set =
_session.get_data();
{
set< shared_ptr<data::SignalData> > data_set =
_session.get_data();
- const vector< shared_ptr<view::Signal> > sigs =
- _session.get_signals();
+
+ lock_guard<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()) {
// Check we have logic data
if (data_set.empty() || sigs.empty()) {
@@
-116,9
+117,9
@@
bool StoreSession::start()
// Begin storing
try {
// Begin storing
try {
- auto context = _session.
_sr_session
->context();
+ auto context = _session.
session()
->context();
auto output_format = context->output_formats()["srzip"];
auto output_format = context->output_formats()["srzip"];
- auto device = _session.
get_
device();
+ auto device = _session.device();
_output = output_format->create_output(device,
{{"filename",
Glib::Variant<Glib::ustring>::create(_file_name)}});
_output = output_format->create_output(device,
{{"filename",
Glib::Variant<Glib::ustring>::create(_file_name)}});
@@
-182,7
+183,7
@@
void StoreSession::store_proc(shared_ptr<data::LogicSnapshot> snapshot)
size_t length = end_sample - start_sample;
try {
size_t length = end_sample - start_sample;
try {
- auto context = _session.
_sr_session
->context();
+ auto context = _session.
session()
->context();
auto logic = context->create_logic_packet(data, length, unit_size);
_output->receive(logic);
} catch (Error error) {
auto logic = context->create_logic_packet(data, length, unit_size);
_output->receive(logic);
} catch (Error error) {