diff options
| author | Jeremy Bicha <jeremy.bicha@canonical.com> | 2022-02-03 09:24:19 -0500 |
|---|---|---|
| committer | Jeremy Bicha <jeremy.bicha@canonical.com> | 2022-02-03 12:01:26 -0500 |
| commit | 240934659cd8326a14324c73d4f0f88eecfddcab (patch) | |
| tree | e07cde48aa0a143bebf10ca7103cc0e69febad25 /src/core/nm-netns.c | |
| parent | fbe61ddadf4a89800a8e3651ae91099259ddf2ad (diff) | |
| parent | 1628eda029ba4dede8d4d45572c6b60367882436 (diff) | |
Merge tag 'debian/1.34.0-2' into ubuntu/master
network-manager Debian release 1.34.0-2
Diffstat (limited to 'src/core/nm-netns.c')
| -rw-r--r-- | src/core/nm-netns.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/core/nm-netns.c b/src/core/nm-netns.c index d5a0317d..224070be 100644 --- a/src/core/nm-netns.c +++ b/src/core/nm-netns.c @@ -29,7 +29,7 @@ typedef struct { GHashTable * l3cfgs; GHashTable * shared_ips; CList l3cfg_signal_pending_lst_head; - guint signal_pending_idle_id; + GSource * signal_pending_idle_source; } NMNetnsPrivate; struct _NMNetns { @@ -189,7 +189,7 @@ _platform_signal_on_idle_cb(gpointer user_data) L3CfgData * l3cfg_data; CList work_list; - priv->signal_pending_idle_id = 0; + nm_clear_g_source_inst(&priv->signal_pending_idle_source); /* we emit all queued signals together. However, we don't want to hook the * main loop for longer than the currently queued elements. @@ -210,7 +210,7 @@ _platform_signal_on_idle_cb(gpointer user_data) nm_steal_int(&l3cfg_data->signal_pending_obj_type_flags)); } - return G_SOURCE_REMOVE; + return G_SOURCE_CONTINUE; } static void @@ -235,8 +235,9 @@ _platform_signal_cb(NMPlatform * platform, if (c_list_is_empty(&l3cfg_data->signal_pending_lst)) { c_list_link_tail(&priv->l3cfg_signal_pending_lst_head, &l3cfg_data->signal_pending_lst); - if (priv->signal_pending_idle_id == 0) - priv->signal_pending_idle_id = g_idle_add(_platform_signal_on_idle_cb, self); + if (!priv->signal_pending_idle_source) + priv->signal_pending_idle_source = + nm_g_idle_add_source(_platform_signal_on_idle_cb, self); } _nm_l3cfg_notify_platform_change(l3cfg_data->l3cfg, @@ -460,7 +461,7 @@ dispose(GObject *object) nm_assert(c_list_is_empty(&priv->l3cfg_signal_pending_lst_head)); nm_assert(!priv->shared_ips); - nm_clear_g_source(&priv->signal_pending_idle_id); + nm_clear_g_source_inst(&priv->signal_pending_idle_source); if (priv->platform) g_signal_handlers_disconnect_by_data(priv->platform, &priv->_self_signal_user_data); |