From e2c76839a3f6444072ae452605204c7113ffdc37 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 6 Apr 2010 21:53:39 +0200 Subject: [PATCH] execute: use fd_nonblock()//fd_cloexec() where applicable --- execute.c | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/execute.c b/execute.c index dd36038c..02f53dc4 100644 --- a/execute.c +++ b/execute.c @@ -137,6 +137,7 @@ static int shift_fds(int fds[], unsigned n_fds) { static int flags_fds(int fds[], unsigned n_fds, bool nonblock) { unsigned i; + int r; if (n_fds <= 0) return 0; @@ -146,27 +147,16 @@ static int flags_fds(int fds[], unsigned n_fds, bool nonblock) { /* Drops/Sets O_NONBLOCK and FD_CLOEXEC from the file flags */ for (i = 0; i < n_fds; i++) { - int flags; - - if ((flags = fcntl(fds[i], F_GETFL, 0)) < 0) - return -errno; - - if (nonblock) - flags |= O_NONBLOCK; - else - flags &= ~O_NONBLOCK; - if (fcntl(fds[i], F_SETFL, flags) < 0) - return -errno; + if ((r = fd_nonblock(fds[i], nonblock)) < 0) + return r; /* We unconditionally drop FD_CLOEXEC from the fds, * since after all we want to pass these fds to our * children */ - if ((flags = fcntl(fds[i], F_GETFD, 0)) < 0) - return -errno; - if (fcntl(fds[i], F_SETFD, flags &~FD_CLOEXEC) < 0) - return -errno; + if ((r = fd_cloexec(fds[i], false)) < 0) + return r; } return 0; -- 2.39.5