From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Sat, 5 Mar 2022 18:55:49 +0100 Subject: unix: simplify uv__cloexec_fcntl() (#3492) FD_CLOEXEC is the only defined flag for fcntl(F_SETFD) so don't bother getting the status of that flag first with fcntl(F_GETFD), just set it. diff --git a/deps/uv/src/unix/core.c b/deps/uv/src/unix/core.c index 71e9c525c4a77b8b5322e8516c58329100a8d951..a87b96cfc1dfdc88fa712a4fa991320ff28f2dcd 100644 --- a/deps/uv/src/unix/core.c +++ b/deps/uv/src/unix/core.c @@ -649,21 +649,9 @@ int uv__cloexec_fcntl(int fd, int set) { int flags; int r; - do - r = fcntl(fd, F_GETFD); - while (r == -1 && errno == EINTR); - - if (r == -1) - return UV__ERR(errno); - - /* Bail out now if already set/clear. */ - if (!!(r & FD_CLOEXEC) == !!set) - return 0; - + flags = 0; if (set) - flags = r | FD_CLOEXEC; - else - flags = r & ~FD_CLOEXEC; + flags = FD_CLOEXEC; do r = fcntl(fd, F_SETFD, flags);