6 static CRITICAL_SECTION __fb_global_mutex;
7 static CRITICAL_SECTION __fb_string_mutex;
8 FBCALL void fb_Lock(
void ) { EnterCriticalSection( &__fb_global_mutex ); }
9 FBCALL void fb_Unlock(
void ) { LeaveCriticalSection( &__fb_global_mutex ); }
10 FBCALL void fb_StrLock(
void ) { EnterCriticalSection( &__fb_string_mutex ); }
11 FBCALL void fb_StrUnlock(
void ) { LeaveCriticalSection( &__fb_string_mutex ); }
16 unsigned int control_word;
19 __asm__ __volatile__(
"fstcw %0" :
"=m" (control_word) : );
21 control_word = (control_word & 0xF0FF) | 0x300;
23 __asm__ __volatile__(
"fldcw %0" : :
"m" (control_word) );
28 InitializeCriticalSection(&__fb_global_mutex);
29 InitializeCriticalSection(&__fb_string_mutex);
36 DeleteCriticalSection(&__fb_global_mutex);
37 DeleteCriticalSection(&__fb_string_mutex);