From 843d2643849a1ec63034012c8fe50bfaad23190b Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sat, 15 May 2010 17:25:08 +0200 Subject: log: rework logging logic so that we don't keep /dev/console open --- util.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'util.c') diff --git a/util.c b/util.c index f8b3f44ad1..5df811d038 100644 --- a/util.c +++ b/util.c @@ -1890,6 +1890,24 @@ int parse_usec(const char *t, usec_t *usec) { return 0; } +int make_stdio(int fd) { + int r, s, t; + + assert(fd >= 0); + + r = dup2(fd, STDIN_FILENO); + s = dup2(fd, STDOUT_FILENO); + t = dup2(fd, STDERR_FILENO); + + if (fd >= 3) + close_nointr_nofail(fd); + + if (r < 0 || s < 0 || t < 0) + return -errno; + + return 0; +} + static const char *const ioprio_class_table[] = { [IOPRIO_CLASS_NONE] = "none", [IOPRIO_CLASS_RT] = "realtime", -- cgit v1.2.3-54-g00ecf