diff --git a/src/OSSupport/NetworkSingleton.cpp b/src/OSSupport/NetworkSingleton.cpp index 358e24438..417fab01e 100644 --- a/src/OSSupport/NetworkSingleton.cpp +++ b/src/OSSupport/NetworkSingleton.cpp @@ -93,7 +93,6 @@ cNetworkSingleton & cNetworkSingleton::Get(void) void cNetworkSingleton::Terminate(void) { ASSERT(!m_HasTerminated); - m_HasTerminated = true; // Wait for the LibEvent event loop to terminate: event_base_loopbreak(m_EventBase); @@ -113,6 +112,10 @@ void cNetworkSingleton::Terminate(void) event_base_free(m_EventBase); libevent_global_shutdown(); + + // Set the HasTerminated flag: + // (Only set the flag after everything has been removed, to avoid the random failures in the Google-test, caused by links terminating after this flag was set) + m_HasTerminated = true; }