From 092b88364bf041dd66ef5ef9ed57f16d7a7b28c6 Mon Sep 17 00:00:00 2001
From: Chris Robinson <chris.kcat@gmail.com>
Date: Fri, 16 Nov 2007 00:48:42 -0800
Subject: [PATCH] Don't use platform-specific methods for initialization

---
 Alc/ALc.c           |  5 +++++
 OpenAL32/OpenAL32.c | 14 --------------
 2 files changed, 5 insertions(+), 14 deletions(-)

diff --git a/Alc/ALc.c b/Alc/ALc.c
index a6ec7818..73e8bee5 100644
--- a/Alc/ALc.c
+++ b/Alc/ALc.c
@@ -204,6 +204,11 @@ static void InitAL(void)
     if(!done)
     {
         int i;
+
+        InitializeCriticalSection(&g_mutex);
+        ALTHUNK_INIT();
+        ReadALConfig();
+
         for(i = 0;BackendList[i].Init;i++)
             BackendList[i].Init(&BackendList[i].Funcs);
         done = 1;
diff --git a/OpenAL32/OpenAL32.c b/OpenAL32/OpenAL32.c
index 20ca14f9..dab7ec31 100644
--- a/OpenAL32/OpenAL32.c
+++ b/OpenAL32/OpenAL32.c
@@ -34,9 +34,6 @@ BOOL APIENTRY DllMain(HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved)
     {
         case DLL_PROCESS_ATTACH:
             DisableThreadLibraryCalls(hModule);
-            InitializeCriticalSection(&g_mutex);
-            ALTHUNK_INIT();
-            ReadALConfig();
             break;
 
         case DLL_PROCESS_DETACH:
@@ -49,17 +46,6 @@ BOOL APIENTRY DllMain(HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved)
     return TRUE;
 }
 #else
-static void my_init() __attribute__((constructor));
-static void my_init()
-{
-    static ALenum once = AL_FALSE;
-    if(once) return;
-    once = AL_TRUE;
-
-    InitializeCriticalSection(&g_mutex);
-    ALTHUNK_INIT();
-    ReadALConfig();
-}
 static void my_deinit() __attribute__((destructor));
 static void my_deinit()
 {