ref: 4cf6f39af2db7e9c5985ff80cc20a8b7b8567a31
dir: /libnpe_pthread/pthread_once.c/
#include <npe.h> #include <pthread.h> #include "_pthread.h" enum { Done = 13666, }; int pthread_once(pthread_once_t *once, void (*init_routine)(void)) { if(once->done != Done){ qlock(once); if(once->done != Done){ once->done = Done; init_routine(); } qunlock(once); } return 0; }