DecoderStack::~DecoderStack()
{
- _decode_thread.interrupt();
- _decode_thread.join();
+ if (_decode_thread.joinable()) {
+ _decode_thread.interrupt();
+ _decode_thread.join();
+ }
}
const std::list< boost::shared_ptr<decode::Decoder> >&
shared_ptr<pv::view::LogicSignal> logic_signal;
shared_ptr<pv::data::Logic> data;
- _decode_thread.interrupt();
- _decode_thread.join();
+ if (_decode_thread.joinable()) {
+ _decode_thread.interrupt();
+ _decode_thread.join();
+ }
clear();
// Create the decoders
BOOST_FOREACH(const shared_ptr<decode::Decoder> &dec, _stack)
{
- srd_decoder_inst *const di = dec->create_decoder_inst(session);
+ srd_decoder_inst *const di = dec->create_decoder_inst(session, unit_size);
if (!di)
{