SYNOPSIS
Fd #include <dispatch/dispatch.h> Ft void Fo dispatch_once Fa dispatch_once_t *predicate void (^block)(void) Fc Ft void Fo dispatch_once_f Fa dispatch_once_t *predicate void *context void (*function)(void *) FcDESCRIPTION
The Fn dispatch_once function provides a simple and efficient mechanism to run an initializer exactly once, similar to pthread_once3. Well designed code hides the use of lazy initialization. For example:FILE *getlogfile(void) { static dispatch_once_t pred; static FILE *logfile; dispatch_once(&pred, ^{ logfile = fopen(MY_LOG_FILE, "a"); }); return logfile; }