mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-11-06 21:11:43 +00:00
75b7db858f
- Added more output to zipdir and a -q option to turn it off. - Added -u option to zipdir to only recompress those files in a zip that have changed. - Added -d and -f options to zipdir. -d forces deflate compression, and -f forces a write of the zip, even if it's newer than all the files it contains. - Added support for bzip2 and LZMA compression to zipdir. SVN r1468 (trunk)
78 lines
2.1 KiB
C
78 lines
2.1 KiB
C
/* Threads.h -- multithreading library
|
|
2008-11-22 : Igor Pavlov : Public domain */
|
|
|
|
#ifndef __7Z_THRESDS_H
|
|
#define __7Z_THRESDS_H
|
|
|
|
#ifdef _WIN32
|
|
#include <windows.h>
|
|
#endif
|
|
|
|
#ifdef _WIN32
|
|
typedef DWORD WRes;
|
|
#else
|
|
typedef int WRes;
|
|
#endif
|
|
|
|
#include "Types.h"
|
|
|
|
typedef struct _CThread
|
|
{
|
|
HANDLE handle;
|
|
} CThread;
|
|
|
|
#define Thread_Construct(thread) (thread)->handle = NULL
|
|
#define Thread_WasCreated(thread) ((thread)->handle != NULL)
|
|
|
|
typedef unsigned THREAD_FUNC_RET_TYPE;
|
|
#define THREAD_FUNC_CALL_TYPE __stdcall
|
|
#define THREAD_FUNC_DECL THREAD_FUNC_RET_TYPE THREAD_FUNC_CALL_TYPE
|
|
|
|
WRes Thread_Create(CThread *thread, THREAD_FUNC_RET_TYPE (THREAD_FUNC_CALL_TYPE *startAddress)(void *), LPVOID parameter);
|
|
WRes Thread_Wait(CThread *thread);
|
|
WRes Thread_Close(CThread *thread);
|
|
|
|
typedef struct _CEvent
|
|
{
|
|
HANDLE handle;
|
|
} CEvent;
|
|
|
|
typedef CEvent CAutoResetEvent;
|
|
typedef CEvent CManualResetEvent;
|
|
|
|
#define Event_Construct(event) (event)->handle = NULL
|
|
#define Event_IsCreated(event) ((event)->handle != NULL)
|
|
|
|
WRes ManualResetEvent_Create(CManualResetEvent *event, int initialSignaled);
|
|
WRes ManualResetEvent_CreateNotSignaled(CManualResetEvent *event);
|
|
WRes AutoResetEvent_Create(CAutoResetEvent *event, int initialSignaled);
|
|
WRes AutoResetEvent_CreateNotSignaled(CAutoResetEvent *event);
|
|
WRes Event_Set(CEvent *event);
|
|
WRes Event_Reset(CEvent *event);
|
|
WRes Event_Wait(CEvent *event);
|
|
WRes Event_Close(CEvent *event);
|
|
|
|
|
|
typedef struct _CSemaphore
|
|
{
|
|
HANDLE handle;
|
|
} CSemaphore;
|
|
|
|
#define Semaphore_Construct(p) (p)->handle = NULL
|
|
|
|
WRes Semaphore_Create(CSemaphore *p, UInt32 initiallyCount, UInt32 maxCount);
|
|
WRes Semaphore_ReleaseN(CSemaphore *p, UInt32 num);
|
|
WRes Semaphore_Release1(CSemaphore *p);
|
|
WRes Semaphore_Wait(CSemaphore *p);
|
|
WRes Semaphore_Close(CSemaphore *p);
|
|
|
|
|
|
typedef CRITICAL_SECTION CCriticalSection;
|
|
|
|
WRes CriticalSection_Init(CCriticalSection *p);
|
|
#define CriticalSection_Delete(p) DeleteCriticalSection(p)
|
|
#define CriticalSection_Enter(p) EnterCriticalSection(p)
|
|
#define CriticalSection_Leave(p) LeaveCriticalSection(p)
|
|
|
|
#endif
|
|
|