gh-95174: Handle missing dup() and constants in WASI (GH-95229)

- check for ``dup()`` libc function
- handle missing ``F_DUPFD`` in ``dup2()`` replacement function
- add workaround for WASI libc bug in MSG_TRUNC
- ESHUTDOWN is missing, use EPIPE instead
- POLLPRI is missing, define as 0 (no-op)
This commit is contained in:
Christian Heimes 2022-07-26 11:16:51 +02:00 committed by GitHub
parent e8f3e8f0ab
commit 0d35a59ce3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 47 additions and 5 deletions

View file

@ -63,6 +63,11 @@ extern void bzero(void *, int);
# define SOCKET int
#endif
// WASI SDK 16 does not have POLLPRIO, define as no-op
#if defined(__wasi__) && !defined(POLLPRI)
# define POLLPRI 0
#endif
typedef struct {
PyObject *close;
PyTypeObject *poll_Type;