From b0d8894e8dd1b041f0c6643d86d232cf08f71a09 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 8 Jul 2020 21:34:07 +0200 Subject: Revert "worker: Do not read response when not yet available" This reverts commit 411f0e67f495fb436ce13ba12c63d7cf874aabd7. This was merged accidentally. --- src/worker.c | 33 +++++++-------------------------- 1 file changed, 7 insertions(+), 26 deletions(-) (limited to 'src') diff --git a/src/worker.c b/src/worker.c index 8cb09d1..c37c740 100644 --- a/src/worker.c +++ b/src/worker.c @@ -129,36 +129,17 @@ void jalv_worker_emit_responses(JalvWorker* worker, LilvInstance* instance) { if (worker->responses) { - uint32_t read_space = 0; - while (read_space = zix_ring_read_space(worker->responses)) { + uint32_t read_space = zix_ring_read_space(worker->responses); + while (read_space) { uint32_t size = 0; - if (zix_ring_peek(worker->responses, (char*)&size, sizeof(size)) <= 0) { - fprintf(stderr, "error: Response buffer corrupted (req %lu avail %u)\n", - sizeof(size), read_space); - break; - } - - const uint32_t packet_size = sizeof(size) + size; - if (read_space < packet_size) { - fprintf(stderr, "warning: Try to read bigger response (%u) than data available (%u). Retry later.\n", - packet_size, read_space); - break; - } - - if (zix_ring_skip(worker->responses, sizeof(size)) <= 0) { - fprintf(stderr, "error: Response buffer corrupted on skip (req %lu avail %u)\n", - sizeof(size), read_space); - break; - } - - if (zix_ring_read(worker->responses, (char*)worker->response, size) <= 0) { - fprintf(stderr, "error: Response buffer corrupted on read response (req %u avail %u)\n", - size, zix_ring_read_space(worker->responses)); - break; - } + zix_ring_read(worker->responses, (char*)&size, sizeof(size)); + + zix_ring_read(worker->responses, (char*)worker->response, size); worker->iface->work_response( instance->lv2_handle, size, worker->response); + + read_space -= sizeof(size) + size; } } } -- cgit v1.2.1