# define glthread_cond_destroy(COND) \
(pthread_in_use () ? pthread_cond_destroy (COND) : 0)
+# ifdef __cplusplus
+}
+# endif
+
#endif
/* ========================================================================= */
# define glthread_cond_destroy(COND) 0
extern int glthread_cond_timedwait_multithreaded (gl_cond_t *cond, gl_lock_t *lock, struct timespec *abstime);
+# ifdef __cplusplus
+}
+# endif
+
#endif
/* ========================================================================= */
# define glthread_cond_destroy(COND) \
(pthread_in_use () ? cond_destroy (COND) : 0)
+# ifdef __cplusplus
+}
+# endif
+
#endif
/* ========================================================================= */
/* Macros with built-in error handling. */
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define gl_cond_init(COND) \
do \
{ \
} \
while (0)
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _GLTHREAD_COND_H */
# define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) 0
# endif
+# ifdef __cplusplus
+}
+# endif
+
#endif
/* ========================================================================= */
(pth_in_use () ? pth_exit (RETVAL) : 0)
# define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) 0
+# ifdef __cplusplus
+}
+# endif
+
#endif
/* ========================================================================= */
# define gl_thread_exit(RETVAL) \
(pthread_in_use () ? thr_exit (RETVAL) : 0)
# define glthread_atfork(PREPARE_FUNC, PARENT_FUNC, CHILD_FUNC) 0
-#endif
+# ifdef __cplusplus
+}
+# endif
+
+#endif
/* ========================================================================= */
#endif
-
/* ========================================================================= */
/* Macros with built-in error handling. */
+#ifdef __cplusplus
+extern "C" {
+#endif
+
static inline gl_thread_t
gl_thread_create (void *(*func) (void *arg), void *arg)
{
} \
while (0)
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _GLTHREAD_THREAD_H */
# define gl_thread_yield() \
sched_yield ()
+# ifdef __cplusplus
+}
+# endif
+
#endif
/* ========================================================================= */
# define gl_thread_yield() \
pth_yield (NULL)
+# ifdef __cplusplus
+}
+# endif
+
#endif
/* ========================================================================= */
# define gl_thread_yield() \
thr_yield ()
+# ifdef __cplusplus
+}
+# endif
+
#endif
/* ========================================================================= */
# define gl_thread_yield() \
Sleep (0)
+# ifdef __cplusplus
+}
+# endif
+
#endif
/* ========================================================================= */