aboutsummaryrefslogtreecommitdiffstats
path: root/src/worker.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2022-05-27 13:20:05 -0400
committerDavid Robillard <d@drobilla.net>2022-05-27 13:20:05 -0400
commitea783414b68512c15b9523cde2bfb4f93e433d56 (patch)
tree3a00654256aed0c1bba9159f2e4ee79d59c90513 /src/worker.c
parent31e271a9f3207efe23a7efb937f4f3275bcb8ad3 (diff)
downloadjalv-ea783414b68512c15b9523cde2bfb4f93e433d56.tar.gz
jalv-ea783414b68512c15b9523cde2bfb4f93e433d56.tar.bz2
jalv-ea783414b68512c15b9523cde2bfb4f93e433d56.zip
Format all code with clang-format
Diffstat (limited to 'src/worker.c')
-rw-r--r--src/worker.c158
1 files changed, 79 insertions, 79 deletions
diff --git a/src/worker.c b/src/worker.c
index 3c42ffb..5192066 100644
--- a/src/worker.c
+++ b/src/worker.c
@@ -30,43 +30,43 @@ jalv_worker_respond(LV2_Worker_Respond_Handle handle,
uint32_t size,
const void* data)
{
- JalvWorker* worker = (JalvWorker*)handle;
- zix_ring_write(worker->responses, (const char*)&size, sizeof(size));
- zix_ring_write(worker->responses, (const char*)data, size);
- return LV2_WORKER_SUCCESS;
+ JalvWorker* worker = (JalvWorker*)handle;
+ zix_ring_write(worker->responses, (const char*)&size, sizeof(size));
+ zix_ring_write(worker->responses, (const char*)data, size);
+ return LV2_WORKER_SUCCESS;
}
static void*
worker_func(void* data)
{
- JalvWorker* worker = (JalvWorker*)data;
- Jalv* jalv = worker->jalv;
- void* buf = NULL;
- while (true) {
- zix_sem_wait(&worker->sem);
- if (jalv->exit) {
- break;
- }
-
- uint32_t size = 0;
- zix_ring_read(worker->requests, (char*)&size, sizeof(size));
-
- if (!(buf = realloc(buf, size))) {
- fprintf(stderr, "error: realloc() failed\n");
- free(buf);
- return NULL;
- }
-
- zix_ring_read(worker->requests, (char*)buf, size);
-
- zix_sem_wait(&jalv->work_lock);
- worker->iface->work(
- jalv->instance->lv2_handle, jalv_worker_respond, worker, size, buf);
- zix_sem_post(&jalv->work_lock);
- }
-
- free(buf);
- return NULL;
+ JalvWorker* worker = (JalvWorker*)data;
+ Jalv* jalv = worker->jalv;
+ void* buf = NULL;
+ while (true) {
+ zix_sem_wait(&worker->sem);
+ if (jalv->exit) {
+ break;
+ }
+
+ uint32_t size = 0;
+ zix_ring_read(worker->requests, (char*)&size, sizeof(size));
+
+ if (!(buf = realloc(buf, size))) {
+ fprintf(stderr, "error: realloc() failed\n");
+ free(buf);
+ return NULL;
+ }
+
+ zix_ring_read(worker->requests, (char*)buf, size);
+
+ zix_sem_wait(&jalv->work_lock);
+ worker->iface->work(
+ jalv->instance->lv2_handle, jalv_worker_respond, worker, size, buf);
+ zix_sem_post(&jalv->work_lock);
+ }
+
+ free(buf);
+ return NULL;
}
void
@@ -75,37 +75,37 @@ jalv_worker_init(Jalv* ZIX_UNUSED(jalv),
const LV2_Worker_Interface* iface,
bool threaded)
{
- worker->iface = iface;
- worker->threaded = threaded;
- if (threaded) {
- zix_thread_create(&worker->thread, 4096, worker_func, worker);
- worker->requests = zix_ring_new(4096);
- zix_ring_mlock(worker->requests);
- }
- worker->responses = zix_ring_new(4096);
- worker->response = malloc(4096);
- zix_ring_mlock(worker->responses);
+ worker->iface = iface;
+ worker->threaded = threaded;
+ if (threaded) {
+ zix_thread_create(&worker->thread, 4096, worker_func, worker);
+ worker->requests = zix_ring_new(4096);
+ zix_ring_mlock(worker->requests);
+ }
+ worker->responses = zix_ring_new(4096);
+ worker->response = malloc(4096);
+ zix_ring_mlock(worker->responses);
}
void
jalv_worker_finish(JalvWorker* worker)
{
- if (worker->threaded) {
- zix_sem_post(&worker->sem);
- zix_thread_join(worker->thread, NULL);
- }
+ if (worker->threaded) {
+ zix_sem_post(&worker->sem);
+ zix_thread_join(worker->thread, NULL);
+ }
}
void
jalv_worker_destroy(JalvWorker* worker)
{
- if (worker->requests) {
- if (worker->threaded) {
- zix_ring_free(worker->requests);
- }
- zix_ring_free(worker->responses);
- free(worker->response);
- }
+ if (worker->requests) {
+ if (worker->threaded) {
+ zix_ring_free(worker->requests);
+ }
+ zix_ring_free(worker->responses);
+ free(worker->response);
+ }
}
LV2_Worker_Status
@@ -113,38 +113,38 @@ jalv_worker_schedule(LV2_Worker_Schedule_Handle handle,
uint32_t size,
const void* data)
{
- JalvWorker* worker = (JalvWorker*)handle;
- Jalv* jalv = worker->jalv;
- if (worker->threaded) {
- // Schedule a request to be executed by the worker thread
- zix_ring_write(worker->requests, (const char*)&size, sizeof(size));
- zix_ring_write(worker->requests, (const char*)data, size);
- zix_sem_post(&worker->sem);
- } else {
- // Execute work immediately in this thread
- zix_sem_wait(&jalv->work_lock);
- worker->iface->work(
- jalv->instance->lv2_handle, jalv_worker_respond, worker, size, data);
- zix_sem_post(&jalv->work_lock);
- }
- return LV2_WORKER_SUCCESS;
+ JalvWorker* worker = (JalvWorker*)handle;
+ Jalv* jalv = worker->jalv;
+ if (worker->threaded) {
+ // Schedule a request to be executed by the worker thread
+ zix_ring_write(worker->requests, (const char*)&size, sizeof(size));
+ zix_ring_write(worker->requests, (const char*)data, size);
+ zix_sem_post(&worker->sem);
+ } else {
+ // Execute work immediately in this thread
+ zix_sem_wait(&jalv->work_lock);
+ worker->iface->work(
+ jalv->instance->lv2_handle, jalv_worker_respond, worker, size, data);
+ zix_sem_post(&jalv->work_lock);
+ }
+ return LV2_WORKER_SUCCESS;
}
void
jalv_worker_emit_responses(JalvWorker* worker, LilvInstance* instance)
{
- if (worker->responses) {
- uint32_t read_space = zix_ring_read_space(worker->responses);
- while (read_space) {
- uint32_t size = 0;
- zix_ring_read(worker->responses, (char*)&size, sizeof(size));
+ if (worker->responses) {
+ uint32_t read_space = zix_ring_read_space(worker->responses);
+ while (read_space) {
+ uint32_t size = 0;
+ zix_ring_read(worker->responses, (char*)&size, sizeof(size));
- zix_ring_read(worker->responses, (char*)worker->response, size);
+ zix_ring_read(worker->responses, (char*)worker->response, size);
- worker->iface->work_response(
- instance->lv2_handle, size, worker->response);
+ worker->iface->work_response(
+ instance->lv2_handle, size, worker->response);
- read_space -= sizeof(size) + size;
- }
- }
+ read_space -= sizeof(size) + size;
+ }
+ }
}