Index: xz/src/common/mythread.h |
=================================================================== |
--- xz/src/common/mythread.h (revision 0) |
+++ xz/src/common/mythread.h (revision 0) |
@@ -0,0 +1,42 @@ |
+/////////////////////////////////////////////////////////////////////////////// |
+// |
+/// \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 |
Property changes on: xz/src/common/mythread.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |