diff --git a/src/ca/access.cpp b/src/ca/access.cpp index 433e227d2..a9bca73df 100644 --- a/src/ca/access.cpp +++ b/src/ca/access.cpp @@ -631,9 +631,9 @@ extern "C" int epicsShareAPI ca_pend_event (ca_real timeout) return status; } + // preserve past odd ball behavior of waiting forever when + // the delay is zero if ( timeout == 0.0 ) { - // preserve past odd ball behavior of waiting forever when - // the delay is zero while ( true ) { pcac->pendEvent ( 60.0 ); } @@ -653,6 +653,12 @@ extern "C" int epicsShareAPI ca_pend_io (ca_real timeout) return status; } + // preserve past odd ball behavior of waiting forever when + // the delay is zero + if ( timeout == 0.0 ) { + return pcac->pendIO ( DBL_MAX ); + } + return pcac->pendIO ( timeout ); }