3 void _PDCLIB_call_once(_PDCLIB_once_flag *flag, void (*func)(void))
\r
5 if(*flag != _PDCLIB_ONCE_FLAG_DONE) {
\r
7 *flag = _PDCLIB_ONCE_FLAG_DONE;
\r
12 #include <_PDCLIB_test.h>
\r
14 static int count = 0;
\r
15 once_flag once = ONCE_FLAG_INIT;
\r
17 static void do_once(void)
\r
24 TESTCASE(count == 0);
\r
25 call_once(&once, do_once);
\r
26 TESTCASE(count == 1);
\r
27 call_once(&once, do_once);
\r
28 TESTCASE(count == 1);
\r
30 TESTCASE(count == 2);
\r
31 return TEST_RESULTS;
\r