int rtems_gxx_once(__gthread_once_t *once, void (*func) (void)) { #ifdef DEBUG_GXX_WRAPPERS printk( "gxx_wrappers: once=%x, func=%x\n", *once, func ); #endif return _Once( once, func ); }
int pthread_once( pthread_once_t *once_control, void (*init_routine)(void) ) { if ( !once_control || !init_routine ) return EINVAL; if ( once_control->is_initialized != 1 ) return EINVAL; return _Once( &once_control->init_executed, init_routine ); }
_Linfo *_Getcloc(void) { /* get pointer to "C" locale */ (void)_Once(&cloc_o, initcloc); return (&_Clocale); }