From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1792) id 7B0AA3858CDB; Sat, 22 Apr 2023 11:47:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7B0AA3858CDB DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1682164076; bh=nxcDCWFXHvaWw4nnruyCek+IUR4fYRwFDBgmy0cAOc4=; h=From:To:Subject:Date:From; b=XHFi8CyBkFNbaqhOK7vixkZr+Yo9opzEmwpTR7KU286GUjdFZZhjMzyeJLhTnAb12 3xJYc4jgiryXOgpnvw9pFEqZ8VjhjADh2MlawHGNX0nH/CHMGSK/nDk7zLMmKVflge LAAq+7hnL7sPd2ULwhoA9u2pn/e8UcIZJBZImm1U= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Samuel Thibault To: glibc-cvs@sourceware.org Subject: [glibc] misc: Convert daemon () to GNU coding style X-Act-Checkin: glibc X-Git-Author: Sergey Bugaev X-Git-Refname: refs/heads/master X-Git-Oldrev: 0aa5b28a504c6f1f17b387d8147715d1496fff62 X-Git-Newrev: 28a441cc577e31e95742b9ec5f1737b86749b712 Message-Id: <20230422114756.7B0AA3858CDB@sourceware.org> Date: Sat, 22 Apr 2023 11:47:56 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=28a441cc577e31e95742b9ec5f1737b86749b712 commit 28a441cc577e31e95742b9ec5f1737b86749b712 Author: Sergey Bugaev Date: Wed Apr 19 19:02:01 2023 +0300 misc: Convert daemon () to GNU coding style This is nicer, and is going to be required for the following changes to reasonably stay within the 79 column limit. No functional change. Signed-off-by: Sergey Bugaev Reviewed-by: Adhemerval Zanella Message-Id: <20230419160207.65988-2-bugaevc@gmail.com> Diff: --- misc/daemon.c | 88 +++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 49 insertions(+), 39 deletions(-) diff --git a/misc/daemon.c b/misc/daemon.c index 3c73ac2ab8..14577e40ad 100644 --- a/misc/daemon.c +++ b/misc/daemon.c @@ -43,50 +43,60 @@ static char sccsid[] = "@(#)daemon.c 8.1 (Berkeley) 6/4/93"; int daemon (int nochdir, int noclose) { - int fd; + int fd; - switch (__fork()) { - case -1: - return (-1); - case 0: - break; - default: - _exit(0); - } + switch (__fork ()) + { + case -1: + return -1; - if (__setsid() == -1) - return (-1); + case 0: + break; - if (!nochdir) - (void)__chdir("/"); + default: + _exit (0); + } - if (!noclose) { - struct __stat64_t64 st; + if (__setsid () == -1) + return -1; - if ((fd = __open_nocancel(_PATH_DEVNULL, O_RDWR, 0)) != -1 - && __glibc_likely (__fstat64_time64 (fd, &st) == 0)) { - if (__builtin_expect (S_ISCHR (st.st_mode), 1) != 0 + if (!nochdir) + (void) __chdir ("/"); + + if (!noclose) + { + struct __stat64_t64 st; + + fd = __open_nocancel (_PATH_DEVNULL, O_RDWR, 0); + if (fd != -1 && __glibc_likely (__fstat64_time64 (fd, &st) == 0)) + { + if (__builtin_expect (S_ISCHR (st.st_mode), 1) != 0 #if defined DEV_NULL_MAJOR && defined DEV_NULL_MINOR - && (st.st_rdev - == makedev (DEV_NULL_MAJOR, DEV_NULL_MINOR)) + && (st.st_rdev == makedev (DEV_NULL_MAJOR, DEV_NULL_MINOR)) #endif - ) { - (void)__dup2(fd, STDIN_FILENO); - (void)__dup2(fd, STDOUT_FILENO); - (void)__dup2(fd, STDERR_FILENO); - if (fd > 2) - (void)__close (fd); - } else { - /* We must set an errno value since no - function call actually failed. */ - __close_nocancel_nostatus (fd); - __set_errno (ENODEV); - return -1; - } - } else { - __close_nocancel_nostatus (fd); - return -1; - } - } - return (0); + ) + { + (void) __dup2 (fd, STDIN_FILENO); + (void) __dup2 (fd, STDOUT_FILENO); + (void) __dup2 (fd, STDERR_FILENO); + if (fd > 2) + (void) __close (fd); + } + else + { + /* We must set an errno value since no function call + actually failed. */ + __close_nocancel_nostatus (fd); + __set_errno (ENODEV); + return -1; + } + } + else + { + __close_nocancel_nostatus (fd); + return -1; + } + } + + return 0; }