Hi all,
attached is a test program that can reproduce the problem. Since it uses sysClkRateGet(), it compiles only on vxWorks.
It calls pasynOctet->readRaw() once with pasynUser->timeout=1.1/sysClkRateGet() and once with pasynUser->timeout=1.0/sysClkRateGet().
In the first case, readRaw() returns asynTimeout, as expected. In the second case, readRaw() does not return.
I print the thread ID before calling readRaw(). When I do 'tt' on the thread ID, readRaw() suddenly returns asynTimeout. Very strange.
Hmm....