Open libinwa opened 11 months ago
Thank you for your bug report.
I'm confused by this. The base class (Session
) already has a virtual
destructor:
https://github.com/google/cppdap/blob/main/include/dap/session.h#L142
Because of this, I don't think there's any semantic difference between having a virtual
on the derived class' destructor or not.
Likewise override
has no semantic meaning (that I'm aware of), but the other virtual methods all have it, so I've created a PR to mark the destructor with override
in https://github.com/google/cppdap/pull/123
Hi all, I created a demo application based on the 1.58.0-a version of this DAP implementation. After doing the memory check by the valgrind tool, I get a possibly lost report as following:
When I investigated the call stack, I found it was caused by a termination of the
dispatchingThread
andrecvThread
withoutjoin
procedure.Finally, I found the root cause is destructor method at "session.cpp:~Impl()" missing the
virtual
keyword. After modifying~Impl()
tovirtual ~Impl()
, the issue disappeared.