23 lines
514 B
C
23 lines
514 B
C
#ifndef OS_MUTEX_H
|
|
#define OS_MUTEX_H
|
|
|
|
#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) // Fuck you, apple
|
|
|
|
#include <pthread.h>
|
|
typedef pthread_mutex_t os_mutex_t;
|
|
|
|
#elif defined(_WIN32)
|
|
|
|
#include <windows.h>
|
|
typedef HANDLE os_mutex_t;
|
|
|
|
#else
|
|
#error "Unknown Threading Standard, feel free to add support via a fork/PR"
|
|
#endif
|
|
|
|
int OSMutex_Create(os_mutex_t* target);
|
|
int OSMutex_Acquire(os_mutex_t* mutex);
|
|
int OSMutex_Release(os_mutex_t* mutex);
|
|
int OSMutex_Destroy(os_mutex_t* mutex);
|
|
|
|
#endif
|