packages feed

HsOpenSSL-0.6.2: cbits/mutex-win.c

#include "mutex.h"

void mutex_init(mutex_t* mutex)
{
  *mutex = CreateMutex(NULL, FALSE, NULL);
}
void mutex_destroy(mutex_t* mutex)
{
  CloseHandle(*mutex);
}
void mutex_lock(mutex_t* mutex)
{
  WaitForSingleObject(mutex, INFINITE);
}
void mutex_unlock(mutex_t* mutex)
{
  ReleaseMutex(mutex);
}
unsigned long self()
{
  return GetCurrentThreadId();
}