chiark / gitweb /
udevd: do not nice processes
authorKay Sievers <kay.sievers@vrfy.org>
Thu, 14 Apr 2011 10:25:19 +0000 (12:25 +0200)
committerKay Sievers <kay.sievers@vrfy.org>
Thu, 14 Apr 2011 10:25:19 +0000 (12:25 +0200)
libudev/libudev-private.h
libudev/libudev-util-private.c
udev/udev-event.c
udev/udev-rules.c
udev/udevd.c

index c57a898..e82ca1d 100644 (file)
@@ -235,7 +235,7 @@ uid_t util_lookup_user(struct udev *udev, const char *user);
 gid_t util_lookup_group(struct udev *udev, const char *group);
 int util_run_program(struct udev *udev, const char *command, char **envp,
                     char *result, size_t ressize, size_t *reslen,
-                    const sigset_t *sigmask, bool reset_prio);
+                    const sigset_t *sigmask);
 int util_resolve_subsys_kernel(struct udev *udev, const char *string,
                                      char *result, size_t maxsize, int read_value);
 unsigned long long usec_monotonic(void);
index 073f7e2..c7ad20e 100644 (file)
@@ -261,7 +261,7 @@ int util_resolve_subsys_kernel(struct udev *udev, const char *string,
 
 int util_run_program(struct udev *udev, const char *command, char **envp,
                     char *result, size_t ressize, size_t *reslen,
-                    const sigset_t *sigmask, bool reset_prio)
+                    const sigset_t *sigmask)
 {
        int status;
        int outpipe[2] = {-1, -1};
@@ -356,8 +356,6 @@ int util_run_program(struct udev *udev, const char *command, char **envp,
 
                if (sigmask)
                        sigprocmask(SIG_SETMASK, sigmask, NULL);
-               if (reset_prio)
-                       setpriority(PRIO_PROCESS, 0, 0);
 
                execve(argv[0], argv, envp);
                if (errno == ENOENT || errno == ENOTDIR) {
index 63a8b3a..60d06aa 100644 (file)
@@ -688,7 +688,7 @@ int udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask)
                                info(event->udev, "delay execution of '%s'\n", program);
                                sleep(event->exec_delay);
                        }
-                       if (util_run_program(event->udev, program, envp, NULL, 0, NULL, sigmask, true) != 0) {
+                       if (util_run_program(event->udev, program, envp, NULL, 0, NULL, sigmask) != 0) {
                                if (udev_list_entry_get_flags(list_entry))
                                        err = -1;
                        }
index 805f449..bef5aba 100644 (file)
@@ -759,7 +759,7 @@ static int import_program_into_properties(struct udev_device *dev, const char *p
        char *line;
 
        envp = udev_device_get_properties_envp(dev);
-       if (util_run_program(udev, program, envp, result, sizeof(result), &reslen, NULL, false) != 0)
+       if (util_run_program(udev, program, envp, result, sizeof(result), &reslen, NULL) != 0)
                return -1;
 
        line = result;
@@ -2297,7 +2297,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event
                                     program,
                                     &rules->buf[rule->rule.filename_off],
                                     rule->rule.filename_line);
-                               if (util_run_program(event->udev, program, envp, result, sizeof(result), NULL, NULL, false) != 0) {
+                               if (util_run_program(event->udev, program, envp, result, sizeof(result), NULL, NULL) != 0) {
                                        if (cur->key.op != OP_NOMATCH)
                                                goto nomatch;
                                } else {
index 051e8fe..244780a 100644 (file)
@@ -47,9 +47,6 @@
 #include "udev.h"
 #include "sd-daemon.h"
 
-#define UDEVD_PRIORITY                 -4
-#define UDEV_PRIORITY                  -2
-
 static bool debug;
 
 static void log_fn(struct udev *udev, int priority,
@@ -267,7 +264,6 @@ static void worker_new(struct event *event)
                close(worker_watch[READ_END]);
                udev_log_close();
                udev_log_init("udevd-work");
-               setpriority(PRIO_PROCESS, 0, UDEV_PRIORITY);
 
                /* set signal handlers */
                memset(&act, 0x00, sizeof(act));
@@ -1426,9 +1422,6 @@ int main(int argc, char *argv[])
        if (fd > STDERR_FILENO)
                close(fd);
 
-       /* set scheduling priority for the main daemon process */
-       setpriority(PRIO_PROCESS, 0, UDEVD_PRIORITY);
-
        setsid();
 
        f = fopen("/dev/kmsg", "w");