logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

dispatch_once — execute a block only once

Description

       The  dispatch_once()  function  provides  a  simple and efficient mechanism to run an initializer exactly
       once, similar to pthread_once(3).  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;
       }

Fundamentals

       The dispatch_once() function is a wrapper around dispatch_once_f().

Name

       dispatch_once — execute a block only once

See Also

dispatch(3)

Darwin                                             May 1, 2009                                  dispatch_once(3)

Synopsis

#include<dispatch/dispatch.h>voiddispatch_once(dispatch_once_t*predicate, void(^block)(void));

       voiddispatch_once_f(dispatch_once_t*predicate, void*context, void(*function)(void*));

See Also