2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
6 * Written by Kai Tietz <kai.tietz@onevision.com>
8 #ifndef WIN32_LEAN_AND_MEAN
9 #define WIN32_LEAN_AND_MEAN
14 int __mingwthr_key_dtor (DWORD key
, void (*dtor
)(void *));
15 int __mingwthr_remove_key_dtor (DWORD key
);
17 extern int ___w64_mingwthr_remove_key_dtor (DWORD key
);
18 extern int ___w64_mingwthr_add_key_dtor (DWORD key
, void (*dtor
)(void *));
22 #define MINGWM10_DLL "mingwm10.dll"
23 typedef int (*fMTRemoveKeyDtor
)(DWORD key
);
24 typedef int (*fMTKeyDtor
)(DWORD key
, void (*dtor
)(void *));
25 extern fMTRemoveKeyDtor __mingw_gMTRemoveKeyDtor
;
26 extern fMTKeyDtor __mingw_gMTKeyDtor
;
27 extern int __mingw_usemthread_dll
;
31 __mingwthr_remove_key_dtor (DWORD key
)
34 if (!__mingw_usemthread_dll
)
36 return ___w64_mingwthr_remove_key_dtor (key
);
38 if (__mingw_gMTRemoveKeyDtor
)
39 return (*__mingw_gMTRemoveKeyDtor
) (key
);
45 __mingwthr_key_dtor (DWORD key
, void (*dtor
)(void *))
50 if (!__mingw_usemthread_dll
)
52 return ___w64_mingwthr_add_key_dtor (key
, dtor
);
54 if (__mingw_gMTKeyDtor
)
55 return (*__mingw_gMTKeyDtor
) (key
, dtor
);