summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2012-03-09 09:12:54 +0100
committerStephan Bergmann <sbergman@redhat.com>2012-03-09 09:13:22 +0100
commit490f83d4807a4223bae61d34913e5bd2bf952f3a (patch)
tree409ef33ddd74c4fba1470548e3b322ec380d72a8
parenteffe82efb67a3b444c3be5f978aef82b8e709165 (diff)
fdo#47021: the naive join attempt leads to deadlock
...something better is required (getting rid of the solar mutex?).
-rw-r--r--dbaccess/source/core/dataaccess/documenteventnotifier.cxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/dbaccess/source/core/dataaccess/documenteventnotifier.cxx b/dbaccess/source/core/dataaccess/documenteventnotifier.cxx
index 2b7cf9ba33cb..2c10ff161eec 100644
--- a/dbaccess/source/core/dataaccess/documenteventnotifier.cxx
+++ b/dbaccess/source/core/dataaccess/documenteventnotifier.cxx
@@ -165,7 +165,12 @@ namespace dbaccess
{
m_pEventBroadcaster->removeEventsForProcessor( this );
m_pEventBroadcaster->terminate();
- m_pEventBroadcaster->join();
+ //TODO: a protocol is missing how to join with the thread before
+ // exit(3), to ensure the thread is no longer relying on any
+ // infrastructure while that infrastructure is being shut down
+ // in atexit handlers; simply calling join here leads to
+ // deadlock, as this thread holds the solar mutex while the
+ // other thread is typically blocked waiting for the solar mutex
m_pEventBroadcaster.clear();
}