mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-04-18 21:20:40 +02:00
device: disconnect platform signal handlers first in dispose
Once we start with dispose, we certainly don't want to process any platform events for the device anymore. Previously, we disconnect those handlers only later during dispose, so it's not clear that we would not receive a device_ipx_changed signal after _cleanup_generic_pre(). Fix this possible (or actual) bug.
This commit is contained in:
parent
73cec4e912
commit
0175056a6d
1 changed files with 4 additions and 4 deletions
|
|
@ -11368,6 +11368,10 @@ dispose (GObject *object)
|
|||
|
||||
_LOGD (LOGD_DEVICE, "disposing");
|
||||
|
||||
platform = nm_platform_get ();
|
||||
g_signal_handlers_disconnect_by_func (platform, G_CALLBACK (device_ipx_changed), self);
|
||||
g_signal_handlers_disconnect_by_func (platform, G_CALLBACK (link_changed_cb), self);
|
||||
|
||||
g_slist_free_full (priv->arping.dad_list, (GDestroyNotify) nm_arping_manager_destroy);
|
||||
priv->arping.dad_list = NULL;
|
||||
|
||||
|
|
@ -11408,10 +11412,6 @@ dispose (GObject *object)
|
|||
|
||||
_clear_queued_act_request (priv);
|
||||
|
||||
platform = nm_platform_get ();
|
||||
g_signal_handlers_disconnect_by_func (platform, G_CALLBACK (device_ipx_changed), self);
|
||||
g_signal_handlers_disconnect_by_func (platform, G_CALLBACK (link_changed_cb), self);
|
||||
|
||||
nm_clear_g_source (&priv->device_link_changed_id);
|
||||
nm_clear_g_source (&priv->device_ip_link_changed_id);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue