chiark / gitweb /
libudev: monitor - add udev_monitor_filter_remove
[elogind.git] / udev / lib / libudev-monitor.c
index 211aa12f62b1b770aa09edff05acfdda525ff202..bf95657da2979e78e5eac5b683563c186e11b1c2 100644 (file)
@@ -707,3 +707,11 @@ int udev_monitor_filter_add_match_subsystem_devtype(struct udev_monitor *udev_mo
                return -ENOMEM;
        return 0;
 }
+
+int udev_monitor_filter_remove(struct udev_monitor *udev_monitor)
+{
+       static struct sock_fprog filter = { 0, NULL };
+
+       udev_list_cleanup_entries(udev_monitor->udev, &udev_monitor->filter_subsystem_list);
+       return setsockopt(udev_monitor->sock, SOL_SOCKET, SO_ATTACH_FILTER, &filter, sizeof(filter));
+}