gdbus: Fix race in name watching on connection teardown
If g_dbus_unwatch_name() is called from one thread at the same time as the GDBusConnection is emitting ::disconnected in another thread, there will be a race and the handler for ::disconnected may end up using memory after it’s freed. Fix this by serialising through the map_id_to_client, so that on_connection_disconnected() atomically gets a strong reference to the Client, or NULL. https://bugzilla.gnome.org/show_bug.cgi?id=777307
parent
97068f36
-
mentioned in issue #604 (closed)
-
mentioned in issue #678 (closed)
Please register or sign in to comment