mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-29 01:00:09 +01: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.
(cherry picked from commit 0175056a6d)
This commit is contained in:
parent
953300d48a
commit
ce05f19c68
1 changed files with 4 additions and 4 deletions
|
|
@ -11236,6 +11236,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;
|
||||
|
||||
|
|
@ -11276,10 +11280,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