From 544575bd09378dcf573e33a315628ecc193925e7 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Sat, 21 Sep 2019 00:04:12 +0200 Subject: Merge some of serial & pthread block processor code paths/declarations Signed-off-by: David Oberhollenzer --- lib/sqfs/blk_proc/serial.c | 36 ++++++++---------------------------- 1 file changed, 8 insertions(+), 28 deletions(-) (limited to 'lib/sqfs/blk_proc/serial.c') diff --git a/lib/sqfs/blk_proc/serial.c b/lib/sqfs/blk_proc/serial.c index 85f39fe..ee172de 100644 --- a/lib/sqfs/blk_proc/serial.c +++ b/lib/sqfs/blk_proc/serial.c @@ -7,19 +7,6 @@ #define SQFS_BUILDING_DLL #include "internal.h" -#include -#include - -struct sqfs_block_processor_t { - size_t max_block_size; - sqfs_compressor_t *cmp; - sqfs_block_cb cb; - void *user; - int status; - - uint8_t scratch[]; -}; - sqfs_block_processor_t *sqfs_block_processor_create(size_t max_block_size, sqfs_compressor_t *cmp, unsigned int num_workers, @@ -51,23 +38,16 @@ void sqfs_block_processor_destroy(sqfs_block_processor_t *proc) int sqfs_block_processor_enqueue(sqfs_block_processor_t *proc, sqfs_block_t *block) { - int ret; - - ret = sqfs_block_process(block, proc->cmp, - proc->scratch, proc->max_block_size); - if (ret) - goto fail; + if (proc->status != 0) { + free(block); + return proc->status; + } - ret = proc->cb(proc->user, block); - if (ret) - goto fail; + proc->status = sqfs_block_process(block, proc->cmp, + proc->scratch, proc->max_block_size); - free(block); - return 0; -fail: - free(block); - proc->status = ret; - return ret; + block->next = NULL; + return process_completed_blocks(proc, block); } int sqfs_block_processor_finish(sqfs_block_processor_t *proc) -- cgit v1.2.3