Current Path : /usr/src/contrib/xz/src/common/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/src/contrib/xz/src/common/mythread.h |
/////////////////////////////////////////////////////////////////////////////// // /// \file mythread.h /// \brief Wrappers for threads // // Author: Lasse Collin // // This file has been put into the public domain. // You can do whatever you want with this file. // /////////////////////////////////////////////////////////////////////////////// #include "sysdefs.h" #ifdef HAVE_PTHREAD # include <pthread.h> # define mythread_once(func) \ do { \ static pthread_once_t once_ = PTHREAD_ONCE_INIT; \ pthread_once(&once_, &func); \ } while (0) # define mythread_sigmask(how, set, oset) \ pthread_sigmask(how, set, oset) #else # define mythread_once(func) \ do { \ static bool once_ = false; \ if (!once_) { \ func(); \ once_ = true; \ } \ } while (0) # define mythread_sigmask(how, set, oset) \ sigprocmask(how, set, oset) #endif