bpo-42375: subprocess DragonFlyBSD build update. (GH-23320) (GH-23388)

Same as FreeBSD, file descriptors in /dev/fd id from 0 to 63.
(cherry picked from commit 13b865f0e1)

Co-authored-by: David CARLIER <devnexen@gmail.com>

Co-authored-by: David CARLIER <devnexen@gmail.com>
This commit is contained in:
Miss Islington (bot) 2020-12-17 03:15:20 -08:00 committed by GitHub
parent e962e3ad22
commit 8d0a01c99b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 4 deletions

View File

@ -0,0 +1 @@
subprocess module update for DragonFlyBSD support.

View File

@ -46,7 +46,7 @@
# endif
#endif
#if defined(__FreeBSD__) || (defined(__APPLE__) && defined(__MACH__))
#if defined(__FreeBSD__) || (defined(__APPLE__) && defined(__MACH__)) || defined(__DragonFly__)
# define FD_DIR "/dev/fd"
#else
# define FD_DIR "/proc/self/fd"
@ -116,9 +116,9 @@ _pos_int_from_ascii(const char *name)
}
#if defined(__FreeBSD__)
#if defined(__FreeBSD__) || defined(__DragonFly__)
/* When /dev/fd isn't mounted it is often a static directory populated
* with 0 1 2 or entries for 0 .. 63 on FreeBSD, NetBSD and OpenBSD.
* with 0 1 2 or entries for 0 .. 63 on FreeBSD, NetBSD, OpenBSD and DragonFlyBSD.
* NetBSD and OpenBSD have a /proc fs available (though not necessarily
* mounted) and do not have fdescfs for /dev/fd. MacOS X has a devfs
* that properly supports /dev/fd.
@ -377,7 +377,7 @@ _close_open_fds_maybe_unsafe(long start_fd, PyObject* py_fds_to_keep)
++start_fd;
#endif
#if defined(__FreeBSD__)
#if defined(__FreeBSD__) || defined(__DragonFly__)
if (!_is_fdescfs_mounted_on_dev_fd())
proc_fd_dir = NULL;
else