summary refs log tree commit diff
path: root/src/core/nm-netns.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2025-02-27 22:37:33 +0100
committerMichael Biebl <biebl@debian.org>2025-02-27 22:37:33 +0100
commitb6e8711654c61e14f7058aa749911de846b54224 (patch)
treef80a43f3daf50685fd79d9bfe80df8e3b878ddd5 /src/core/nm-netns.c
parent818258cf34b83fbc754633295e1052d4752d7b15 (diff)
New upstream version 1.50.3 upstream/1.50.3
Diffstat (limited to 'src/core/nm-netns.c')
-rw-r--r--src/core/nm-netns.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/core/nm-netns.c b/src/core/nm-netns.c
index ed33d336..4d286561 100644
--- a/src/core/nm-netns.c
+++ b/src/core/nm-netns.c
@@ -1369,8 +1369,8 @@ nm_netns_watcher_remove_handle(NMNetns *self, NMNetnsWatcherHandle *handle)
         g_object_unref(self);
 }
 
-void
-nm_netns_watcher_remove_all(NMNetns *self, gconstpointer tag, gboolean all)
+static void
+watcher_remove(NMNetns *self, gconstpointer tag, gboolean all)
 {
     NMNetnsPrivate       *priv;
     WatcherByTag         *watcher_by_tag;
@@ -1420,6 +1420,21 @@ nm_netns_watcher_remove_all(NMNetns *self, gconstpointer tag, gboolean all)
     }
 }
 
+void
+nm_netns_watcher_remove_all(NMNetns *self, gconstpointer tag)
+{
+    watcher_remove(self, tag, TRUE);
+}
+
+/* Similar to nm_netns_watcher_remove_all(), but removes only watchers
+ * that were marked as "dirty" in a previous call of this function and were
+ * not added back via nm_netns_watcher_add() in the meantime. */
+void
+nm_netns_watcher_remove_dirty(NMNetns *self, gconstpointer tag)
+{
+    watcher_remove(self, tag, FALSE);
+}
+
 /*****************************************************************************/
 
 static void