1 #ifndef _PDCLIB_THREADCONFIG_H
\r
2 #define _PDCLIB_THREADCONFIG_H
\r
3 #include <_PDCLIB_aux.h>
\r
4 #include <_PDCLIB_int.h>
\r
9 #define _PDCLIB_TSS_DTOR_ITERATIONS 3
\r
10 #define _PDCLIB_ONCE_FLAG_INIT { -1, 0 }
\r
11 #define _PDCLIB_ONCE_FLAG_IS_DONE( _f ) ((_f)->_State == 0)
\r
15 } _PDCLIB_once_flag;
\r
17 void _PDCLIB_call_once(_PDCLIB_once_flag *flag, void (*func)(void));
\r
19 //#define _PDCLIB_THRD_HAVE_MISC
\r
20 //#define _PDCLIB_CND_T char
\r
21 #define _PDCLIB_MTX_T struct _PDCLIB_mtx
\r
23 struct _PDCLIB_mtx {
\r
24 void * _WaitEvHandle;
\r
25 volatile long _ThreadId;
\r
26 volatile unsigned int _NestCount;
\r
29 #define _PDCLIB_TSS_T struct _PDCLIB_tss *
\r
31 struct _PDCLIB_tss {
\r
32 void (*_Destructor)(void*);
\r
33 struct _PDCLIB_tss * _Next;
\r