GDBusConnection::closed vs g_dbus_connection_is_closed()
@danw
Submitted by Dan Winship Assigned to David Zeuthen
Link to original bug (#754730)
Description
When GDBusConnection::closed is emitted in the remote_peer_disconnected case, FLAG_CLOSED gets set on the connection, but it does not get fully cleaned up. In particular, if the connection is a private bus connection, the local socket remains open, and gets leaked when the connection is destroyed.
g_dbus_connection_close() will clean things up correctly in this case, but g_dbus_connection_close_sync() won't, because it checks for FLAG_CLOSED and does nothing in that case.