Whent he process first time loads an extension and the extension wants to decide whether to unload it or keep in memory it needs a counter and a mutex to access the counter to declare the counter the extension should use the macro SUPPORT_MULTITHREAD and to initialize it it should use the macro INIT_MULTITHREAD
Note that the call-back functions to handle the mutexes OS independant are not available by the time when the OS calls DllMain on NT or _init on UNIX, thus the code should call system dependant functions directly
IsThisTheVeryFirstThreadCallingTheModule <- name of the function