summaryrefslogtreecommitdiff
path: root/binaryurp/source/reader.cxx
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2014-02-07 14:28:07 +0100
committerAndras Timar <andras.timar@collabora.com>2014-02-12 11:58:37 +0100
commit5ff44a89b59a6bdfe4cd471456b623eac91afcff (patch)
tree5df5d216eab40d48964d1910a89339f965734661 /binaryurp/source/reader.cxx
parent877db2f59eef960ce92b5f3874798b5570165c9a (diff)
fdo#56511 Don't unduly delay Bridge termination
When terminate is called from the Reader or Writer thread, the final terminate was delayed until disposal of the BridgeFactory, as an unfortunate consequence of always trying to join on the Reader and Writer. Instead, forgo the join in such a case and rely on the underlying osl::Thread becoming detached after calling termiante. Change-Id: Ifba788c4d0d2e9b14b4f7f6b5f0f1380b712ce36 (cherry picked from commit f6245d5bcb18dff2721d5975cd84711559cefe65) Reviewed-on: https://gerrit.libreoffice.org/7926 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'binaryurp/source/reader.cxx')
-rw-r--r--binaryurp/source/reader.cxx1
1 files changed, 1 insertions, 0 deletions
diff --git a/binaryurp/source/reader.cxx b/binaryurp/source/reader.cxx
index 184f037721b9..331e4b333465 100644
--- a/binaryurp/source/reader.cxx
+++ b/binaryurp/source/reader.cxx
@@ -128,6 +128,7 @@ void Reader::execute() {
SAL_WARN("binaryurp", "caught C++ exception '" << e.what() << '\'');
}
bridge_->terminate(false);
+ bridge_.clear();
}
void Reader::readMessage(Unmarshal & unmarshal) {