diff options
| author | David Lamparter <equinox@opensourcerouting.org> | 2016-11-15 13:37:14 +0900 |
|---|---|---|
| committer | David Lamparter <equinox@opensourcerouting.org> | 2016-11-15 14:23:17 +0900 |
| commit | 24f5e2fc62606c25c4b43e2dd77aea9aa721acba (patch) | |
| tree | 3aa5ce435a7fef3f8a7b568e5ac808b851664db1 /lib/daemon.c | |
| parent | a89b1641fd23740daf9a7331417b1373aa3d5932 (diff) | |
build: massively remove needless checks
Since we have autoconf results from a wide swath of target platforms, we
can go remove checks that have the same result on all systems.
This also removes several "fallback" implementations of functions that,
at some point in the history, weren't available on all target platforms.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'lib/daemon.c')
| -rw-r--r-- | lib/daemon.c | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/lib/daemon.c b/lib/daemon.c deleted file mode 100644 index c473555bb5..0000000000 --- a/lib/daemon.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Daemonize routine - * Copyright (C) 1997, 1999 Kunihiro Ishiguro - * - * This file is part of GNU Zebra. - * - * GNU Zebra is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published - * by the Free Software Foundation; either version 2, or (at your - * option) any later version. - * - * GNU Zebra is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with GNU Zebra; see the file COPYING. If not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#include <zebra.h> -#include <log.h> - -#ifndef HAVE_DAEMON - -/* Daemonize myself. */ -int -daemon (int nochdir, int noclose) -{ - pid_t pid; - - pid = fork (); - - /* In case of fork is error. */ - if (pid < 0) - { - zlog_err ("fork failed: %s", safe_strerror(errno)); - return -1; - } - - /* In case of this is parent process. */ - if (pid != 0) - exit (0); - - /* Become session leader and get pid. */ - pid = setsid(); - - if (pid == -1) - { - zlog_err ("setsid failed: %s", safe_strerror(errno)); - return -1; - } - - /* Change directory to root. */ - if (! nochdir) - chdir ("/"); - - /* File descriptor close. */ - if (! noclose) - { - int fd; - - fd = open ("/dev/null", O_RDWR, 0); - if (fd != -1) - { - dup2 (fd, STDIN_FILENO); - dup2 (fd, STDOUT_FILENO); - dup2 (fd, STDERR_FILENO); - if (fd > 2) - close (fd); - } - } - - umask (0027); - - return 0; -} - -#endif /* HAVE_DAEMON */ |
