chiark / gitweb /
[PATCH] wait() for specific pid to return from fork().
[elogind.git] / namedev.c
index 80d5f1a499be4c631c5bf6c9f80ce5d441bd70af..f3fb3ff7edac049083ff884e8db9b6fb371423aa 100644 (file)
--- a/namedev.c
+++ b/namedev.c
@@ -444,7 +444,7 @@ static int execute_program(const char *path, char *value, int len)
                dbg("result is '%s'", value);
 
                close(fds[0]);
-               wait(&status);
+               waitpid(pid, &status, 0);
 
                if (!WIFEXITED(status) || (WEXITSTATUS(status) != 0)) {
                        dbg("exec program status 0x%x", status);
@@ -798,11 +798,10 @@ perms:
                set_empty_perms(udev, perm->mode,
                                      perm->owner,
                                      perm->group);
-       } else {
-               set_empty_perms(udev, get_default_mode(),
-                                     get_default_owner(),
-                                     get_default_group());
        }
+       set_empty_perms(udev, get_default_mode(),
+                             get_default_owner(),
+                             get_default_group());
 
        dbg("name, '%s' is going to have owner='%s', group='%s', mode = %#o",
            udev->name, udev->owner, udev->group, udev->mode);