diff --git a/src/remote/blockingUDPTransport.cpp b/src/remote/blockingUDPTransport.cpp index aac605f..c03464f 100644 --- a/src/remote/blockingUDPTransport.cpp +++ b/src/remote/blockingUDPTransport.cpp @@ -243,7 +243,17 @@ inline int sendto(int s, const char *buf, size_t len, int flags, const struct so _receiveBuffer->flip(); - processBuffer(thisTransport, fromAddress, _receiveBuffer.get()); + try{ + processBuffer(thisTransport, fromAddress, _receiveBuffer.get()); + }catch(std::exception& e){ + LOG(logLevelError, + "an exception caught while in UDP receiveThread at %s:%d: %s", + __FILE__, __LINE__, e.what()); + } catch (...) { + LOG(logLevelError, + "unknown exception caught while in UDP receiveThread at %s:%d.", + __FILE__, __LINE__); + } } } else if (unlikely(bytesRead == -1)) { diff --git a/src/remote/codec.cpp b/src/remote/codec.cpp index ebdadae..4bb1cb5 100644 --- a/src/remote/codec.cpp +++ b/src/remote/codec.cpp @@ -1106,11 +1106,11 @@ namespace epics { try { bac->processRead(); } catch (std::exception &e) { - LOG(logLevelWarn, + LOG(logLevelError, "an exception caught while in receiveThread at %s:%d: %s", __FILE__, __LINE__, e.what()); } catch (...) { - LOG(logLevelWarn, + LOG(logLevelError, "unknown exception caught while in receiveThread at %s:%d.", __FILE__, __LINE__); }