Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
stream_decoder_mt.c File Reference

Multithreaded .xz Stream decoder. More...

#include "common.h"
#include "block_decoder.h"
#include "stream_decoder.h"
#include "index.h"
#include "outqueue.h"

Data Structures

struct  worker_thread
 
struct  lzma_stream_coder
 

Enumerations

enum  worker_state { THR_IDLE , THR_RUN , THR_STOP , THR_EXIT }
 
enum  partial_update_mode { PARTIAL_DISABLED , PARTIAL_START , PARTIAL_ENABLED }
 

Functions

 LZMA_API (lzma_ret)
 

Detailed Description

Multithreaded .xz Stream decoder.

Enumeration Type Documentation

◆ partial_update_mode

Enumerator
PARTIAL_DISABLED 

Partial updates (storing of worker thread progress to lzma_outbuf) are disabled.

PARTIAL_START 

Main thread requests partial updates to be enabled but no partial update has been done by the worker thread yet.

Changing from PARTIAL_DISABLED to PARTIAL_START requires use of the worker-thread mutex. Other transitions don't need a mutex.

PARTIAL_ENABLED 

Partial updates are enabled and the worker thread has done at least one partial update.

◆ worker_state

Enumerator
THR_IDLE 

Waiting for work. Main thread may change this to THR_RUN or THR_EXIT.

THR_RUN 

Decoding is in progress. Main thread may change this to THR_STOP or THR_EXIT. The worker thread may change this to THR_IDLE.

THR_STOP 

The main thread wants the thread to stop whatever it was doing but not exit. Main thread may change this to THR_EXIT. The worker thread may change this to THR_IDLE.

THR_EXIT 

The main thread wants the thread to exit.

Function Documentation

◆ LZMA_API()

LZMA_API ( lzma_ret )
extern