Lines Matching defs:once_control
28 glwthread_once (glwthread_once_t *once_control, void (*initfunction) (void))
30 if (once_control->inited <= 0)
32 if (InterlockedIncrement (&once_control->started) == 0)
34 /* This thread is the first one to come to this once_control. */
35 InitializeCriticalSection (&once_control->lock);
36 EnterCriticalSection (&once_control->lock);
37 once_control->inited = 0;
39 once_control->inited = 1;
40 LeaveCriticalSection (&once_control->lock);
44 /* Don't let once_control->started grow and wrap around. */
45 InterlockedDecrement (&once_control->started);
49 while (once_control->inited < 0)
51 if (once_control->inited <= 0)
55 EnterCriticalSection (&once_control->lock);
56 LeaveCriticalSection (&once_control->lock);
57 if (!(once_control->inited > 0))