diff --git a/src/client/clientGet.cpp b/src/client/clientGet.cpp index 8c8a484..aaa69fe 100644 --- a/src/client/clientGet.cpp +++ b/src/client/clientGet.cpp @@ -37,7 +37,7 @@ struct GetPutter : public pva::ChannelPutRequester, GetPutter(pvac::ClientChannel::GetCallback* cb) :started(false), getcb(cb), putcb(0) {} GetPutter(pvac::ClientChannel::PutCallback* cb) :started(false), getcb(0), putcb(cb) {} - virtual ~GetPutter() {} + virtual ~GetPutter() {cancel();} void callEvent(Guard& G, pvac::GetEvent::event_t evt = pvac::GetEvent::Fail) { diff --git a/src/client/clientRPC.cpp b/src/client/clientRPC.cpp index f983f3b..4dff91a 100644 --- a/src/client/clientRPC.cpp +++ b/src/client/clientRPC.cpp @@ -36,7 +36,7 @@ struct RPCer : public pva::ChannelRPCRequester, RPCer(pvac::ClientChannel::GetCallback* cb, const pvd::PVStructure::const_shared_pointer& args) :started(false), cb(cb), args(args) {} - virtual ~RPCer() {} + virtual ~RPCer() {cancel();} void callEvent(Guard& G, pvac::GetEvent::event_t evt = pvac::GetEvent::Fail) {