--- src/libc-glue.hh 2024-03-16 05:20:18.000000000 +0800 +++ src/libc-glue.hh 2024-05-12 13:25:23.000000000 +0800 @@ -220,7 +220,13 @@ { auto r = int{}; do { +#ifdef F_DUPFD_CLOEXEC r = fcntl(oldfd, F_DUPFD_CLOEXEC, newfd); +#else + r = fcntl(oldfd, F_DUPFD, newfd); + if (r > 0) + fcntl(r, F_SETFD, FD_CLOEXEC); +#endif } while (r == -1 && errno == EINTR); return r; }