wip
This commit is contained in:
@@ -10,22 +10,27 @@
|
||||
#include "mutex.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
struct st_mutex {
|
||||
CRITICAL_SECTION handle;
|
||||
};
|
||||
|
||||
mutex_t mutex_create() {
|
||||
mutex_t mutex = malloc(sizeof(CRITICAL_SECTION));
|
||||
InitializeCriticalSection(mutex);
|
||||
mutex_t mutex = malloc(sizeof(struct st_mutex));
|
||||
InitializeCriticalSection(&mutex->handle);
|
||||
return mutex;
|
||||
}
|
||||
|
||||
void mutex_lock(mutex_t mutex) {
|
||||
EnterCriticalSection(mutex);
|
||||
EnterCriticalSection(&mutex->handle);
|
||||
}
|
||||
|
||||
void mutex_unlock(mutex_t mutex) {
|
||||
LeaveCriticalSection(mutex);
|
||||
LeaveCriticalSection(&mutex->handle);
|
||||
}
|
||||
|
||||
void mutex_destroy(mutex_t mutex) {
|
||||
DeleteCriticalSection(mutex);
|
||||
DeleteCriticalSection(&mutex->handle);
|
||||
}
|
||||
#endif
|
||||
#ifdef __linux__
|
||||
|
Reference in New Issue
Block a user