chiark / gitweb /
Close stdin, stdout and stderr on daemonizing
authorAndreas Messer <andi@bastelmap.de>
Sat, 27 Jan 2018 18:34:24 +0000 (19:34 +0100)
committerSven Eden <yamakuzure@gmx.net>
Wed, 31 Jan 2018 14:28:39 +0000 (15:28 +0100)
src/login/elogind.c

index d6f2eaef4e4d0d8d82660da7794e99b612506eb3..b8ac7d367f6f175f467f24a9643f07b9dff47567 100644 (file)
@@ -125,6 +125,12 @@ static int elogind_daemonize(void) {
 
         /* The first child has to become a new session leader. */
         close_all_fds(NULL, 0);
+
+        /* close_all_fds() does not close 0,1,2 */
+        close(0);
+        close(1);
+        close(2);
+
         SID = setsid();
         if ((pid_t)-1 == SID)
                 return log_error_errno(errno, "Failed to create new SID: %m");