X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fworker.cc;h=ce71c92a1537f8f04330717d0b38601b3d5c649a;hb=4bdbe77414b956e27f2c1631e67189c70409a3d1;hp=aea1c6f8e35597a191cf374c617d928376f8dda2;hpb=ad017365f7a73f8ba57f667cc1aa36478b48c50e;p=ardour.git diff --git a/libs/ardour/worker.cc b/libs/ardour/worker.cc index aea1c6f8e3..ce71c92a15 100644 --- a/libs/ardour/worker.cc +++ b/libs/ardour/worker.cc @@ -32,7 +32,7 @@ Worker::Worker(Workee* workee, uint32_t ring_size) , _requests(new RingBuffer(ring_size)) , _responses(new RingBuffer(ring_size)) , _response((uint8_t*)malloc(ring_size)) - , _sem(0) + , _sem ("worker_semaphore", 0) , _exit(false) , _thread (Glib::Threads::Thread::create(sigc::mem_fun(*this, &Worker::run))) {} @@ -40,7 +40,7 @@ Worker::Worker(Workee* workee, uint32_t ring_size) Worker::~Worker() { _exit = true; - _sem.post(); + _sem.signal(); _thread->join(); } @@ -56,7 +56,7 @@ Worker::schedule(uint32_t size, const void* data) if (_requests->write((const uint8_t*)data, size) != size) { return false; } - _sem.post(); + _sem.signal(); return true; }