From 39c7ba2a8fbef544e709068f87e51811251c5811 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Thu, 12 Jul 2018 20:42:22 +0200 Subject: util.pposix: Use freopen(3) when replacing standard IO streams (thanks ratchetfreak) Man page says this is what freopen(3) is for. --- util-src/pposix.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'util-src') diff --git a/util-src/pposix.c b/util-src/pposix.c index e70a9d7f..215c45c3 100644 --- a/util-src/pposix.c +++ b/util-src/pposix.c @@ -104,14 +104,10 @@ static int lc_daemonize(lua_State *L) { return 2; } - /* Close stdin, stdout, stderr */ - close(0); - close(1); - close(2); /* Make sure accidental use of FDs 0, 1, 2 don't cause weirdness */ - open("/dev/null", O_RDONLY); - open("/dev/null", O_WRONLY); - open("/dev/null", O_WRONLY); + stdin = freopen("/dev/null", "r", stdin); + stdout = freopen("/dev/null", "w", stdout); + stderr = freopen("/dev/null", "w", stderr); /* Final fork, use it wisely */ if(fork()) { -- cgit v1.2.3