mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-01-27 10:10:23 +01:00
extend lock's range in live_messages_notify()
The other code paths that ref or unref a transport are protected by the DBusConnection's lock. This function already used that lock, but for a narrower scope than the refcount manipulation. live_messages_notify() could be triggered by unreffing messages that originated from the same connection in a different thread. [smcv: added commit message] Bug: https://bugs.freedesktop.org/show_bug.cgi?id=90312 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
This commit is contained in:
parent
08e2b81062
commit
bebe9ca993
1 changed files with 2 additions and 2 deletions
|
|
@ -63,6 +63,7 @@ live_messages_notify (DBusCounter *counter,
|
|||
{
|
||||
DBusTransport *transport = user_data;
|
||||
|
||||
_dbus_connection_lock (transport->connection);
|
||||
_dbus_transport_ref (transport);
|
||||
|
||||
#if 0
|
||||
|
|
@ -77,12 +78,11 @@ live_messages_notify (DBusCounter *counter,
|
|||
*/
|
||||
if (transport->vtable->live_messages_changed)
|
||||
{
|
||||
_dbus_connection_lock (transport->connection);
|
||||
(* transport->vtable->live_messages_changed) (transport);
|
||||
_dbus_connection_unlock (transport->connection);
|
||||
}
|
||||
|
||||
_dbus_transport_unref (transport);
|
||||
_dbus_connection_unlock (transport->connection);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue