about 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-28 17:38:27 +0100
committerMichael Biebl <biebl@debian.org>2025-02-28 17:38:27 +0100
commit9685be6ccea0ce642656fae43963fdd2a0b910a5 (patch)
tree5e4ac7639446e83a681429758732c4144d04f9a6 /src/core/nm-netns.c
parent38da8d26340307e811b3e09c6a6adf278cd5a792 (diff)
parent625e8ce60e826bde943487b8238884a9232e4562 (diff)
Update upstream source from tag 'upstream/1.52.0'
Update to upstream version '1.52.0'
with Debian dir f67ffc37a3e729d7b0a68693e9272295f6648094
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 420d01e4..57dbe9c5 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