diff --git a/src/middleware/transport/interprocess.h b/src/middleware/transport/interprocess.h index f068f0c4..3db3d1f5 100644 --- a/src/middleware/transport/interprocess.h +++ b/src/middleware/transport/interprocess.h @@ -310,7 +310,13 @@ class InterProcessForwarder std::shared_ptr msg) { _receive_regex_data_forwarded(msg); }); } - virtual ~InterProcessForwarder() { this->unsubscribe_all(); } + virtual ~InterProcessForwarder() + { + this->unsubscribe_all(); + + // TODO - remove by adding in an explicit handshake with the unsubscribe_all publication so that we don't delete ourself (and thus our inner()) before the Portal has deleted all the subscriptions + usleep(1e5); + } friend Base;