diff --git a/src/remoteClient/pv/clientContextImpl.h b/src/remoteClient/pv/clientContextImpl.h
index d5f1dfd..e11408f 100644
--- a/src/remoteClient/pv/clientContextImpl.h
+++ b/src/remoteClient/pv/clientContextImpl.h
@@ -93,7 +93,7 @@ public:
* Dispose (destroy) server context.
* This calls destroy() and silently handles all exceptions.
*/
- virtual void dispose() = 0;
+ virtual void dispose() EPICS_DEPRECATED = 0;
virtual ChannelSearchManager::shared_pointer getChannelSearchManager() = 0;
diff --git a/src/server/pv/serverContext.h b/src/server/pv/serverContext.h
index c89776c..7de759f 100644
--- a/src/server/pv/serverContext.h
+++ b/src/server/pv/serverContext.h
@@ -69,7 +69,7 @@ public:
*/
virtual void printInfo(std::ostream& str) = 0;
- void dispose();
+ void dispose() EPICS_DEPRECATED;
virtual epicsTimeStamp& getStartTime() = 0;
diff --git a/src/server/serverContext.cpp b/src/server/serverContext.cpp
index 9b128ce..fb2ddaf 100644
--- a/src/server/serverContext.cpp
+++ b/src/server/serverContext.cpp
@@ -55,7 +55,14 @@ ServerContextImpl::ServerContextImpl():
ServerContextImpl::~ServerContextImpl()
{
- dispose();
+ try
+ {
+ shutdown();
+ }
+ catch(std::exception& e)
+ {
+ std::cerr<<"Error in: ServerContextImpl::dispose: "<