};\r
\r
#define ONCE_FLAG_INIT _PDCLIB_ONCE_FLAG_INIT\r
-#if defined(_PDCLIB_ONCE_FLAG_DONE)\r
+#if defined(_PDCLIB_ONCE_FLAG_IS_DONE)\r
static inline void call_once(once_flag *flag, void (*func)(void))\r
{\r
- if(*flag != _PDCLIB_ONCE_FLAG_DONE) {\r
+ if(!_PDCLIB_ONCE_FLAG_IS_DONE(flag)) {\r
_PDCLIB_call_once(flag, func);\r
}\r
}\r
#if defined(_PDCLIB_THRD_T)\r
#define _PDCLIB_THRD_HAVE_MISC\r
typedef _PDCLIB_THRD_T thrd_t;\r
-typedef int (*)(void*) thrd_start_t;\r
+typedef int (*thrd_start_t)(void*);\r
\r
int thrd_create(thrd_t *thr, thrd_start_t func, void *arg) _PDCLIB_nothrow;\r
thrd_t thrd_current(void) _PDCLIB_nothrow;\r