core: fix error checking for PR_SET_CHILD_SUBREAPER
authorLennart Poettering <lennart@poettering.net>
Tue, 21 Aug 2012 14:47:14 +0000 (16:47 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 21 Aug 2012 14:48:02 +0000 (16:48 +0200)
src/core/main.c

index cdd77c1..6e8f21a 100644 (file)
@@ -1509,11 +1509,11 @@ int main(int argc, char *argv[]) {
 
         if (arg_running_as == MANAGER_USER) {
                 /* Become reaper of our children */
-                r = prctl(PR_SET_CHILD_SUBREAPER, 1);
-                if (r < 0)
-                        log_error("Failed to prctl(PR_SET_CHILD_SUBREAPER): %s", strerror(-r));
-                if (r == -EINVAL)
-                        log_error("Perhaps the kernel version is too old (< 3.4?)");
+                if (prctl(PR_SET_CHILD_SUBREAPER, 1) < 0) {
+                        log_warning("Failed to make us a subreaper: %m");
+                        if (errno == EINVAL)
+                                log_info("Perhaps the kernel version is too old (< 3.3?)");
+                }
         }
 
         r = manager_new(arg_running_as, &m);