Implement POSIX support

This commit is contained in:
Diego Waxemberg
2014-01-19 02:24:04 -05:00
parent 2f18a9aea7
commit 128a5e113a
7 changed files with 108 additions and 49 deletions
+17 -10
View File
@@ -9,22 +9,29 @@ typedef HANDLE PLT_THREAD;
typedef HANDLE PLT_MUTEX;
typedef HANDLE PLT_EVENT;
#else
typedef pthread_t PLT_THREAD;
typedef pthread_mutex_t PLT_MUTEX;
typedef struct _PLT_EVENT {
pthread_mutex_t mutex;
pthread_cond_t cond;
int signalled;
} PLT_EVENT;
#endif
int PltCreateMutex(PLT_MUTEX *mutex);
void PltDeleteMutex(PLT_MUTEX mutex);
void PltLockMutex(PLT_MUTEX mutex);
void PltUnlockMutex(PLT_MUTEX mutex);
void PltDeleteMutex(PLT_MUTEX *mutex);
void PltLockMutex(PLT_MUTEX *mutex);
void PltUnlockMutex(PLT_MUTEX *mutex);
int PltCreateThread(ThreadEntry entry, void* context, PLT_THREAD *thread);
void PltCloseThread(PLT_THREAD thread);
void PltJoinThread(PLT_THREAD thread);
void PltCloseThread(PLT_THREAD *thread);
void PltJoinThread(PLT_THREAD *thread);
int PltCreateEvent(PLT_EVENT *event);
void PltCloseEvent(PLT_EVENT event);
void PltSetEvent(PLT_EVENT event);
void PltClearEvent(PLT_EVENT event);
void PltPulseEvent(PLT_EVENT event);
void PltWaitForEvent(PLT_EVENT event);
void PltCloseEvent(PLT_EVENT *event);
void PltSetEvent(PLT_EVENT *event);
void PltClearEvent(PLT_EVENT *event);
void PltPulseEvent(PLT_EVENT *event);
void PltWaitForEvent(PLT_EVENT *event);
void PltSleepMs(int ms);