X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udev%2Flib%2Flibudev-monitor.c;h=bf95657da2979e78e5eac5b683563c186e11b1c2;hp=211aa12f62b1b770aa09edff05acfdda525ff202;hb=08a7a795f61eaf42f31b26e435067a664f0a4d4d;hpb=bb7045a0a372abc3638e027e9d8c4b05b79c9f67 diff --git a/udev/lib/libudev-monitor.c b/udev/lib/libudev-monitor.c index 211aa12f6..bf95657da 100644 --- a/udev/lib/libudev-monitor.c +++ b/udev/lib/libudev-monitor.c @@ -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)); +}