Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
Threads.h File Reference
#include "Compiler.h"
#include <pthread.h>
#include "7zTypes.h"

Go to the source code of this file.

Data Structures

struct  CThread
 
struct  CEvent
 
struct  CSemaphore
 
struct  CCriticalSection
 

Macros

#define Thread_CONSTRUCT(p)
 
#define Thread_WasCreated(p)
 
#define THREAD_FUNC_RET_ZERO   NULL
 
#define CpuSet_Zero(p)
 
#define CpuSet_Set(p, cpu)
 
#define CpuSet_IsSet(p, cpu)
 
#define THREAD_FUNC_CALL_TYPE   Z7_STDCALL
 
#define THREAD_FUNC_ATTRIB_ALIGN_ARG
 
#define THREAD_FUNC_DECL   THREAD_FUNC_ATTRIB_ALIGN_ARG THREAD_FUNC_RET_TYPE THREAD_FUNC_CALL_TYPE
 
#define Event_Construct(p)
 
#define Event_IsCreated(p)
 
#define Semaphore_Construct(p)
 
#define Semaphore_IsCreated(p)
 
#define Semaphore_Release1(p)
 

Typedefs

typedef void * THREAD_FUNC_RET_TYPE
 
typedef UInt64 CAffinityMask
 
typedef UInt64 CCpuSet
 
typedef THREAD_FUNC_RET_TYPE(THREAD_FUNC_CALL_TYPETHREAD_FUNC_TYPE) (void *)
 
typedef CEvent CAutoResetEvent
 
typedef CEvent CManualResetEvent
 

Functions

WRes Thread_Close (CThread *p)
 
WRes Thread_Create (CThread *p, THREAD_FUNC_TYPE func, LPVOID param)
 
WRes Thread_Create_With_Affinity (CThread *p, THREAD_FUNC_TYPE func, LPVOID param, CAffinityMask affinity)
 
WRes Thread_Wait_Close (CThread *p)
 
WRes Thread_Create_With_CpuSet (CThread *p, THREAD_FUNC_TYPE func, LPVOID param, const CCpuSet *cpuSet)
 
WRes ManualResetEvent_Create (CManualResetEvent *p, int signaled)
 
WRes ManualResetEvent_CreateNotSignaled (CManualResetEvent *p)
 
WRes AutoResetEvent_Create (CAutoResetEvent *p, int signaled)
 
WRes AutoResetEvent_CreateNotSignaled (CAutoResetEvent *p)
 
WRes Event_Set (CEvent *p)
 
WRes Event_Reset (CEvent *p)
 
WRes Event_Wait (CEvent *p)
 
WRes Event_Close (CEvent *p)
 
WRes Semaphore_Create (CSemaphore *p, UInt32 initCount, UInt32 maxCount)
 
WRes Semaphore_OptCreateInit (CSemaphore *p, UInt32 initCount, UInt32 maxCount)
 
WRes Semaphore_ReleaseN (CSemaphore *p, UInt32 num)
 
WRes Semaphore_Wait (CSemaphore *p)
 
WRes Semaphore_Close (CSemaphore *p)
 
WRes CriticalSection_Init (CCriticalSection *p)
 
void CriticalSection_Delete (CCriticalSection *cs)
 
void CriticalSection_Enter (CCriticalSection *cs)
 
void CriticalSection_Leave (CCriticalSection *cs)
 
LONG InterlockedIncrement (LONG volatile *addend)
 
LONG InterlockedDecrement (LONG volatile *addend)
 
WRes AutoResetEvent_OptCreate_And_Reset (CAutoResetEvent *p)
 

Macro Definition Documentation

◆ CpuSet_IsSet

#define CpuSet_IsSet ( p,
cpu )
Value:
((*(p) & ((UInt64)1 << (cpu))) != 0)
unsigned long long int UInt64
Definition 7zTypes.h:234

◆ CpuSet_Set

#define CpuSet_Set ( p,
cpu )
Value:
*(p) |= ((UInt64)1 << (cpu))

◆ CpuSet_Zero

#define CpuSet_Zero ( p)
Value:
*(p) = (0)

◆ Event_Construct

#define Event_Construct ( p)
Value:
(p)->_created = 0

◆ Event_IsCreated

#define Event_IsCreated ( p)
Value:
((p)->_created)

◆ Semaphore_Construct

#define Semaphore_Construct ( p)
Value:
(p)->_created = 0

◆ Semaphore_IsCreated

#define Semaphore_IsCreated ( p)
Value:
((p)->_created)

◆ Semaphore_Release1

#define Semaphore_Release1 ( p)
Value:
WRes Semaphore_ReleaseN(CSemaphore *p, UInt32 num)
Definition Threads.c:458

◆ Thread_CONSTRUCT

#define Thread_CONSTRUCT ( p)
Value:
{ (p)->_tid = 0; (p)->_created = 0; }

◆ THREAD_FUNC_ATTRIB_ALIGN_ARG

#define THREAD_FUNC_ATTRIB_ALIGN_ARG

◆ THREAD_FUNC_CALL_TYPE

#define THREAD_FUNC_CALL_TYPE   Z7_STDCALL

◆ THREAD_FUNC_DECL

◆ THREAD_FUNC_RET_ZERO

#define THREAD_FUNC_RET_ZERO   NULL

◆ Thread_WasCreated

#define Thread_WasCreated ( p)
Value:
((p)->_created != 0)

Typedef Documentation

◆ CAffinityMask

◆ CAutoResetEvent

◆ CCpuSet

typedef UInt64 CCpuSet

◆ CManualResetEvent

◆ THREAD_FUNC_RET_TYPE

typedef void* THREAD_FUNC_RET_TYPE

◆ THREAD_FUNC_TYPE

typedef THREAD_FUNC_RET_TYPE(THREAD_FUNC_CALL_TYPE * THREAD_FUNC_TYPE) (void *)

Function Documentation

◆ AutoResetEvent_Create()

WRes AutoResetEvent_Create ( CAutoResetEvent * p,
int signaled )

◆ AutoResetEvent_CreateNotSignaled()

WRes AutoResetEvent_CreateNotSignaled ( CAutoResetEvent * p)

◆ AutoResetEvent_OptCreate_And_Reset()

WRes AutoResetEvent_OptCreate_And_Reset ( CAutoResetEvent * p)

◆ CriticalSection_Delete()

void CriticalSection_Delete ( CCriticalSection * cs)

◆ CriticalSection_Enter()

void CriticalSection_Enter ( CCriticalSection * cs)

◆ CriticalSection_Init()

WRes CriticalSection_Init ( CCriticalSection * p)

◆ CriticalSection_Leave()

void CriticalSection_Leave ( CCriticalSection * cs)

◆ Event_Close()

WRes Event_Close ( CEvent * p)

◆ Event_Reset()

WRes Event_Reset ( CEvent * p)

◆ Event_Set()

WRes Event_Set ( CEvent * p)

◆ Event_Wait()

WRes Event_Wait ( CEvent * p)

◆ InterlockedDecrement()

LONG InterlockedDecrement ( LONG volatile * addend)

◆ InterlockedIncrement()

LONG InterlockedIncrement ( LONG volatile * addend)

◆ ManualResetEvent_Create()

WRes ManualResetEvent_Create ( CManualResetEvent * p,
int signaled )

◆ ManualResetEvent_CreateNotSignaled()

WRes ManualResetEvent_CreateNotSignaled ( CManualResetEvent * p)

◆ Semaphore_Close()

WRes Semaphore_Close ( CSemaphore * p)

◆ Semaphore_Create()

WRes Semaphore_Create ( CSemaphore * p,
UInt32 initCount,
UInt32 maxCount )

◆ Semaphore_OptCreateInit()

WRes Semaphore_OptCreateInit ( CSemaphore * p,
UInt32 initCount,
UInt32 maxCount )

◆ Semaphore_ReleaseN()

WRes Semaphore_ReleaseN ( CSemaphore * p,
UInt32 num )

◆ Semaphore_Wait()

WRes Semaphore_Wait ( CSemaphore * p)

◆ Thread_Close()

WRes Thread_Close ( CThread * p)

◆ Thread_Create()

WRes Thread_Create ( CThread * p,
THREAD_FUNC_TYPE func,
LPVOID param )

◆ Thread_Create_With_Affinity()

WRes Thread_Create_With_Affinity ( CThread * p,
THREAD_FUNC_TYPE func,
LPVOID param,
CAffinityMask affinity )

◆ Thread_Create_With_CpuSet()

WRes Thread_Create_With_CpuSet ( CThread * p,
THREAD_FUNC_TYPE func,
LPVOID param,
const CCpuSet * cpuSet )

◆ Thread_Wait_Close()

WRes Thread_Wait_Close ( CThread * p)