diff options
Diffstat (limited to 'src/udev/udevadm-test.c')
-rw-r--r-- | src/udev/udevadm-test.c | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/src/udev/udevadm-test.c b/src/udev/udevadm-test.c index 4922b5b6ac..d04e618d0d 100644 --- a/src/udev/udevadm-test.c +++ b/src/udev/udevadm-test.c @@ -17,13 +17,10 @@ */ #include <stdlib.h> -#include <string.h> #include <stdio.h> #include <stddef.h> #include <unistd.h> #include <errno.h> -#include <ctype.h> -#include <fcntl.h> #include <signal.h> #include <getopt.h> #include <sys/signalfd.h> @@ -120,34 +117,25 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) { strscpy(filename, sizeof(filename), syspath); util_remove_trailing_chars(filename, '/'); - dev = udev_device_new_from_syspath(udev, filename); + dev = udev_device_new_from_synthetic_event(udev, filename, action); if (dev == NULL) { fprintf(stderr, "unable to open device '%s'\n", filename); rc = 4; goto out; } - /* skip reading of db, but read kernel parameters */ + /* don't read info from the db */ udev_device_set_info_loaded(dev); - udev_device_read_uevent_file(dev); - udev_device_set_action(dev, action); event = udev_event_new(dev); sigfillset(&mask); sigprocmask(SIG_SETMASK, &mask, &sigmask_orig); - event->fd_signal = signalfd(-1, &mask, SFD_NONBLOCK|SFD_CLOEXEC); - if (event->fd_signal < 0) { - fprintf(stderr, "error creating signalfd\n"); - rc = 5; - goto out; - } udev_event_execute_rules(event, 60 * USEC_PER_SEC, 20 * USEC_PER_SEC, NULL, - rules, - &sigmask_orig); + rules); udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry)); @@ -159,8 +147,6 @@ static int adm_test(struct udev *udev, int argc, char *argv[]) { printf("run: '%s'\n", program); } out: - if (event != NULL && event->fd_signal >= 0) - close(event->fd_signal); udev_builtin_exit(udev); return rc; } |