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

Same as FreeBSD, file descriptors in /dev/fd id from 0 to 63.
This commit is contained in:
David CARLIER 2020-11-19 07:24:15 +00:00 committed by GitHub
parent 4687338d0e
commit 13b865f0e1
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

@ -55,7 +55,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"
@ -127,9 +127,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