diff --git a/src/evhelper.cpp b/src/evhelper.cpp index 8683a58..bdda230 100644 --- a/src/evhelper.cpp +++ b/src/evhelper.cpp @@ -98,12 +98,15 @@ struct evbase::Pvt : public epicsThreadRunable } } - virtual ~Pvt() { + virtual ~Pvt() + { join(); } void join() { + if(worker.isCurrentThread()) + log_err_printf(logerr, "evbase self-joining: %s\n", worker.getNameSelf()); if(event_base_loopexit(base.get(), nullptr)) log_crit_printf(logerr, "evbase error while interrupting loop for %p\n", base.get()); worker.exitWait();