diff options
author | Greg KH <greg@press.(none)> | 2005-06-21 16:36:29 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2005-06-21 16:36:29 -0700 |
commit | 972d318a3123b00d0ed6b78bbcf70a0965841a8e (patch) | |
tree | 8322245ad8e488ad3da9575e2d90b219a99880ea /udev_utils.c | |
parent | ae8d5e161fe916e39f226ce53f2c5f8b31f582a0 (diff) | |
parent | d27d3bb05288fb5e70bc3f3fc7da1dc8ee5413a8 (diff) |
Merge gregkh@ehlo.org:/home/kay/public_html/pub/scm/linux/hotplug/udev-kay
Diffstat (limited to 'udev_utils.c')
-rw-r--r-- | udev_utils.c | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/udev_utils.c b/udev_utils.c index 74b55ed406..64a7ba9caa 100644 --- a/udev_utils.c +++ b/udev_utils.c @@ -27,6 +27,7 @@ #include <errno.h> #include <ctype.h> #include <dirent.h> +#include <syslog.h> #include <sys/wait.h> #include <sys/stat.h> #include <sys/mman.h> @@ -107,6 +108,41 @@ void udev_cleanup_device(struct udevice *udev) list_del(&name_loop->node); free(name_loop); } + list_for_each_entry_safe(name_loop, temp_loop, &udev->run_list, node) { + list_del(&name_loop->node); + free(name_loop); + } +} + +int string_is_true(const char *str) +{ + if (strcasecmp(str, "true") == 0) + return 1; + if (strcasecmp(str, "yes") == 0) + return 1; + if (strcasecmp(str, "1") == 0) + return 1; + return 0; +} + +int log_priority(const char *priority) +{ + char *endptr; + int prio; + + prio = strtol(priority, &endptr, 10); + if (endptr[0] == '\0') + return prio; + if (strncasecmp(priority, "err", 3) == 0) + return LOG_ERR; + if (strcasecmp(priority, "info") == 0) + return LOG_INFO; + if (strcasecmp(priority, "debug") == 0) + return LOG_DEBUG; + if (string_is_true(priority)) + return LOG_ERR; + + return 0; } int kernel_release_satisfactory(unsigned int version, unsigned int patchlevel, unsigned int sublevel) @@ -373,10 +409,10 @@ int execute_command(const char *command, const char *subsystem) close(devnull); } retval = execv(arg, argv); - err("exec of child failed"); + err("exec of child '%s' failed", command); _exit(1); case -1: - dbg("fork of child failed"); + dbg("fork of child '%s' failed", command); break; return -1; default: |