X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=libudev%2Flibudev-util-private.c;h=8c535125a83c0fee9e818357912d8b1215ac1ecb;hb=e85f5ec15f1c0a820cc81b422c2fa157d9805896;hp=c05c157575aa084716afab0f413c147f791bded3;hpb=99eb7c451c912a460db4276ed253ffd0da5dcc4a;p=elogind.git diff --git a/libudev/libudev-util-private.c b/libudev/libudev-util-private.c index c05c15757..8c535125a 100644 --- a/libudev/libudev-util-private.c +++ b/libudev/libudev-util-private.c @@ -254,7 +254,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) + const sigset_t *sigmask, bool reset_prio) { int status; int outpipe[2] = {-1, -1}; @@ -349,6 +349,8 @@ 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) {