start worker thread after _sem and _exit have been initialized.
stop thread when plugin is removed.
git-svn-id: svn://localhost/ardour2/branches/3.0@13145
d708f5d6-7413-0410-9779-
e7cbd77b26cf
void run();
Workee* _workee;
- Glib::Threads::Thread* _thread;
RingBuffer<uint8_t>* _requests;
RingBuffer<uint8_t>* _responses;
uint8_t* _response;
PBD::Semaphore _sem;
bool _exit;
+ Glib::Threads::Thread* _thread;
};
} // namespace ARDOUR
delete _to_ui;
delete _from_ui;
+ delete _worker;
delete [] _control_data;
delete [] _shadow_data;
Worker::Worker(Workee* workee, uint32_t ring_size)
: _workee(workee)
- , _thread (Glib::Threads::Thread::create(sigc::mem_fun(*this, &Worker::run)))
, _requests(new RingBuffer<uint8_t>(ring_size))
, _responses(new RingBuffer<uint8_t>(ring_size))
, _response((uint8_t*)malloc(ring_size))
, _sem(0)
, _exit(false)
+ , _thread (Glib::Threads::Thread::create(sigc::mem_fun(*this, &Worker::run)))
{}
Worker::~Worker()