From cc5527981ecc76398ec57097e79d5662e7b98151 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 10 Aug 2022 12:52:18 -0400 Subject: Propagate worker errors to the scheduler when possible --- src/worker.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/worker.c b/src/worker.c index c7b7143..a9474a7 100644 --- a/src/worker.c +++ b/src/worker.c @@ -93,7 +93,8 @@ jalv_worker_schedule(LV2_Worker_Schedule_Handle handle, uint32_t size, const void* data) { - JalvWorker* worker = (JalvWorker*)handle; + JalvWorker* worker = (JalvWorker*)handle; + LV2_Worker_Status st = LV2_WORKER_SUCCESS; if (!size) { return LV2_WORKER_ERR_UNKNOWN; @@ -107,12 +108,12 @@ jalv_worker_schedule(LV2_Worker_Schedule_Handle handle, } else { // Execute work immediately in this thread zix_sem_wait(worker->lock); - worker->iface->work( + st = worker->iface->work( worker->handle, jalv_worker_respond, worker, size, data); zix_sem_post(worker->lock); } - return LV2_WORKER_SUCCESS; + return st; } void -- cgit v1.2.1