diff --git a/src/server/sharedstate_pv.cpp b/src/server/sharedstate_pv.cpp index 20f56ee..c0256f7 100644 --- a/src/server/sharedstate_pv.cpp +++ b/src/server/sharedstate_pv.cpp @@ -264,10 +264,9 @@ void SharedPV::close(bool destroy) puts.clear(); rpcs.clear(); monitors.clear(); - bool wasempty = channels.empty(); - channels.clear(); - if(!wasempty && channels.empty()) + if(!channels.empty()) p_handler = handler; + channels.clear(); } } FOR_EACH(xputs_t::iterator, it, end, p_put) {