diff --git a/src/libCom/osi/os/vxWorks/osdThread.c b/src/libCom/osi/os/vxWorks/osdThread.c index 260343fdb..92ff88c2f 100644 --- a/src/libCom/osi/os/vxWorks/osdThread.c +++ b/src/libCom/osi/os/vxWorks/osdThread.c @@ -360,8 +360,8 @@ void *epicsThreadPrivateGet(epicsThreadPrivateId id) double epicsThreadSleepQuantum () { - double HZ; - HZ = sysClkRateGet (); + /* If HZ is a double, under -O3 optimization the Tornado 2.x + * compilers generate bad code. Using a float works. */ + float HZ = sysClkRateGet(); return 1.0 / HZ; } -