From 95114089605f1fd54ba260a6fe0936831bdeda50 Mon Sep 17 00:00:00 2001 From: Matej Sekoranja Date: Fri, 3 Aug 2012 22:48:02 +0200 Subject: [PATCH] added EXCEPTION_GUARD to monitorEvent CBs --- pvAccessApp/remoteClient/clientContextImpl.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/pvAccessApp/remoteClient/clientContextImpl.cpp b/pvAccessApp/remoteClient/clientContextImpl.cpp index 9d5e3c3..3916d79 100644 --- a/pvAccessApp/remoteClient/clientContextImpl.cpp +++ b/pvAccessApp/remoteClient/clientContextImpl.cpp @@ -1834,8 +1834,7 @@ namespace epics { Lock guard(m_mutex); m_gotMonitor = true; // no data, only notify - Monitor::shared_pointer thisMonitor = shared_from_this(); - m_callback->monitorEvent(thisMonitor); + EXCEPTION_GUARD(m_callback->monitorEvent(shared_from_this())); } virtual MonitorElement::shared_pointer poll() { @@ -1906,8 +1905,7 @@ namespace epics { m_monitorElement->pvStructurePtr->deserialize(payloadBuffer, transport.get(), m_monitorElement->changedBitSet.get()); m_monitorElement->overrunBitSet->deserialize(payloadBuffer, transport.get()); m_gotMonitor = true; - Monitor::shared_pointer thisMonitor = shared_from_this(); - m_callback->monitorEvent(thisMonitor); + EXCEPTION_GUARD(m_callback->monitorEvent(shared_from_this())); } virtual MonitorElement::shared_pointer poll() { @@ -1993,8 +1991,7 @@ namespace epics { m_monitorElement->pvStructurePtr->deserialize(payloadBuffer, transport.get(), m_monitorElement->changedBitSet.get()); m_monitorElement->overrunBitSet->deserialize(payloadBuffer, transport.get()); m_gotMonitor = true; - Monitor::shared_pointer thisMonitor = shared_from_this(); - m_callback->monitorEvent(thisMonitor); + EXCEPTION_GUARD(m_callback->monitorEvent(shared_from_this())); } else {