This file implements the GTHREAD_HAS_COND part of the interface
exposed by gthr-vxworks.h. */
+#if __GTHREAD_HAS_COND
+
#include "gthr.h"
#include <taskLib.h>
{
return __gthread_cond_wait (cond, mutex);
}
+
+#endif
/* ------------------ Base condition variables support ------------------- */
+/* VxWorks prio to 6 misses a few services key to a correct
+ implementation of condition variables with reasonable complexity.
+ semExchange in particular. */
+
+#if _VXWORKS_MAJOR_GE(6)
+
#define __GTHREAD_HAS_COND 1
typedef SEM_ID __gthread_cond_t;
extern int __gthread_cond_wait_recursive (__gthread_cond_t *cond,
__gthread_recursive_mutex_t *mutex);
+#endif
+
/* ----------------------- C++0x thread support ------------------------- */
/* We do not support C++0x threads on that VxWorks 653, which we can