diff --git a/modules/libcom/src/osi/os/vxWorks/osdThread.h b/modules/libcom/src/osi/os/vxWorks/osdThread.h index 32d7dbd64..09ecbb553 100644 --- a/modules/libcom/src/osi/os/vxWorks/osdThread.h +++ b/modules/libcom/src/osi/os/vxWorks/osdThread.h @@ -13,8 +13,18 @@ /* VxWorks 6.9 and later can support joining threads */ -#if (!defined(_WRS_VXWORKS_MAJOR) || _WRS_VXWORKS_MAJOR == 6 && _WRS_VXWORKS_MINOR < 9) -#undef EPICS_THREAD_CAN_JOIN +#include + +#ifdef _WRS_VXWORKS_MAJOR +#define VXWORKS_VERSION_INT VERSION_INT(_WRS_VXWORKS_MAJOR, \ + _WRS_VXWORKS_MINOR, _WRS_VXWORKS_MAINT, _WRS_VXWORKS_SVCPK) +#else +/* Version not available at compile-time, assume... */ +#define VXWORKS_VERSION_INT VERSION_INT(5, 5, 0, 0) +#endif + +#if VXWORKS_VERSION_INT < VERSION_INT(6, 9, 4, 1) +# undef EPICS_THREAD_CAN_JOIN #endif #endif /* osdThreadh */