From 556585293ad6751cf8f9b3bc13a44332530f210c Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 17 Nov 2020 15:15:21 -0600 Subject: [PATCH] Have notifierConveyor trap and drop any exceptions --- src/ca/notifierConveyor.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/ca/notifierConveyor.cpp b/src/ca/notifierConveyor.cpp index 137aeb64..08fc1b43 100644 --- a/src/ca/notifierConveyor.cpp +++ b/src/ca/notifierConveyor.cpp @@ -4,6 +4,8 @@ * in file LICENSE that is included with this distribution. */ +#include + #include "notifierConveyor.h" using epics::pvData::Lock; @@ -65,7 +67,15 @@ void NotifierConveyor::run() NotifierClientPtr client(notification->client.lock()); if (client) { the.unlock(); - client->notifyClient(); + try { client->notifyClient(); } + catch (std::exception &e) { + std::cerr << "Exception from notifyClient(): " + << e.what() << std::endl; + } + catch (...) { + std::cerr << "Unknown exception from notifyClient()" + << std::endl; + } if (work) { the.lock(); stopping = halt;