diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-09-24 02:56:42 +0200 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-09-24 03:04:38 +0200 |
commit | c56c830ae96ed000c999fb93c23bbaad0303acf9 (patch) | |
tree | 589d038e56f6000e55b3cfce5cc74e64304958c9 /lib/sqfs/blk_proc/serial.c | |
parent | 87d577a66eb3b1aaca91c4841445cccaf151ee81 (diff) |
Cleanup pthread based block processing code
Break convoluted, long functions up into smaller ones where the control
flow (especially locking and signalling) is more easily readable and
remove some copy and paste clean up code.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'lib/sqfs/blk_proc/serial.c')
-rw-r--r-- | lib/sqfs/blk_proc/serial.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/lib/sqfs/blk_proc/serial.c b/lib/sqfs/blk_proc/serial.c index 850c33d..06c811e 100644 --- a/lib/sqfs/blk_proc/serial.c +++ b/lib/sqfs/blk_proc/serial.c @@ -59,16 +59,12 @@ int sqfs_block_processor_enqueue(sqfs_block_processor_t *proc, return proc->status; } - if (block->size == 0) { - block->checksum = 0; - } else { - proc->status = sqfs_block_process(block, proc->cmp, - proc->scratch, - proc->max_block_size); - } + proc->status = sqfs_block_process(block, proc->cmp, proc->scratch, + proc->max_block_size); + + if (proc->status == 0) + proc->status = process_completed_block(proc, block); - block->next = NULL; - proc->status = process_completed_block(proc, block); free(block); return proc->status; } |