#define uint _uint
#define set _set
#define String _String
-#if defined(__WIN32__)
+#if defined(__WIN32__) && !defined(__EMSCRIPTEN__)
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#else
public class Mutex : struct
{
+#if !defined(__EMSCRIPTEN__)
+
// class_fixed
#if defined(__WIN32__)
#ifdef _DEBUG
#else
pthread_mutex_t mutex;
#endif
+#endif
#ifdef _DEBUG
int64 owningThread;
Mutex()
{
+#if !defined(__EMSCRIPTEN__)
#if defined(__WIN32__)
#ifdef _DEBUG
mutex = CreateMutex(null, FALSE, null);
pthread_mutex_init(&mutex, &attr);
pthread_mutexattr_destroy(&attr);
#endif
+#endif
+
lockCount = 0;
#ifdef _DEBUG
owningThread = 0;
~Mutex()
{
+#if !defined(__EMSCRIPTEN__)
#if defined(__WIN32__)
#ifdef _DEBUG
CloseHandle(mutex);
#else
pthread_mutex_destroy(&mutex);
#endif
+#endif
}
public:
{
if(this)
{
+#if !defined(__EMSCRIPTEN__)
/*
if(this == globalSystem.fileMonitorMutex)
printf("[%d] Waiting on Mutex %x\n", (int)GetCurrentThreadID(), this);
#endif
#endif
+#endif
+
#ifdef _DEBUG
owningThread = GetCurrentThreadID();
#endif
{
if(this)
{
+#if !defined(__EMSCRIPTEN__)
/*
if(this == globalSystem.fileMonitorMutex)
printf("[%d] Releasing Mutex %x\n", (int)GetCurrentThreadID(), this);
pthread_mutex_unlock(&mutex);
#endif
#endif
+#endif
+
#ifdef _DEBUG
if(lockCount < 0)
PrintLn("WARNING: lockCount < 0");