diff --git a/src/AsynDriverInterface.cc b/src/AsynDriverInterface.cc index 45bb43c..0268ece 100644 --- a/src/AsynDriverInterface.cc +++ b/src/AsynDriverInterface.cc @@ -680,7 +680,7 @@ writeHandler() clientName()); status = pasynOctet->read(pvtOctet, pasynUser, buffer, sizeof(buffer), &received, &eomReason); - if (received == 0) break; + if (status == asynError || received == 0) break; #ifndef NO_TEMPORARY if (received) debug("AsynDriverInterface::writeHandler(%s): flushing %ld bytes: \"%s\"\n", clientName(), (long)received, StreamBuffer(buffer, received).expand()());