diff options
author | Christian Heimes <christian@python.org> | 2022-07-31 15:39:41 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-31 15:39:41 (GMT) |
commit | db13c0c1b8bc8c15d920a94ca008aabea4037697 (patch) | |
tree | 88b24924603fcffab9c1be7005c4622ba67e7a14 /Python/dup2.c | |
parent | c7ac8b65884a79e6a976811bca10527613b1396a (diff) | |
download | cpython-db13c0c1b8bc8c15d920a94ca008aabea4037697.zip cpython-db13c0c1b8bc8c15d920a94ca008aabea4037697.tar.gz cpython-db13c0c1b8bc8c15d920a94ca008aabea4037697.tar.bz2 |
[3.11] gh-95174: Handle missing dup() and constants in WASI (GH-95229) (GH-95272)
Co-authored-by: Christian Heimes <christian@python.org>
Diffstat (limited to 'Python/dup2.c')
-rw-r--r-- | Python/dup2.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Python/dup2.c b/Python/dup2.c index 7c6bbfc..a1df049 100644 --- a/Python/dup2.c +++ b/Python/dup2.c @@ -11,6 +11,7 @@ * Return fd2 if all went well; return BADEXIT otherwise. */ +#include <errno.h> #include <fcntl.h> #include <unistd.h> @@ -20,12 +21,17 @@ int dup2(int fd1, int fd2) { if (fd1 != fd2) { +#ifdef F_DUPFD if (fcntl(fd1, F_GETFL) < 0) return BADEXIT; if (fcntl(fd2, F_GETFL) >= 0) close(fd2); if (fcntl(fd1, F_DUPFD, fd2) < 0) return BADEXIT; +#else + errno = ENOTSUP; + return BADEXIT; +#endif } return fd2; } |