/////////////////////////////////////////////////////////////////////////////// // /// \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 # 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