diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2015-03-30 09:02:40 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2015-09-15 02:08:57 +0000 |
commit | e94f512b1e4ef0da310dce6ec75b28e748183cc8 (patch) | |
tree | b050712b4fc5d8ad08c8f4167ff1f9dfa134e95e /src/dbus/qdbusconnection.cpp | |
parent | e15e5b1d37de1903d9c19c239d15440a783dc051 (diff) |
Make sure we don't deadlock when connecting signals
This commit moves the code that finishes the signal-slot connection into
the QtDBus auxiliary thread. That is necessary because we're holding the
lock for writing while making blocking calls. The auxiliary thread might
be waiting for us to release that lock while processing some previous
message.
Change-Id: Iee8cbc07c4434ce9b560ffff13d0521b94a51833
Reviewed-by: Albert Astals Cid <aacid@kde.org>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Diffstat (limited to 'src/dbus/qdbusconnection.cpp')
-rw-r--r-- | src/dbus/qdbusconnection.cpp | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp index 6f0473d9e4..e9196173ad 100644 --- a/src/dbus/qdbusconnection.cpp +++ b/src/dbus/qdbusconnection.cpp @@ -765,7 +765,6 @@ bool QDBusConnection::connect(const QString &service, const QString &path, const return false; } - QDBusWriteLocker locker(ConnectAction, d); return d->connectSignal(service, path, interface, name, argumentMatch, signature, receiver, slot); } @@ -821,7 +820,6 @@ bool QDBusConnection::disconnect(const QString &service, const QString &path, co if (interface.isEmpty() && name.isEmpty()) return false; - QDBusWriteLocker locker(DisconnectAction, d); return d->disconnectSignal(service, path, interface, name, argumentMatch, signature, receiver, slot); } |