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

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:16:00 -08:00 committed by GitHub
parent 718bf1a7a1
commit 4f65907f38
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

@ -41,7 +41,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"
@ -88,9 +88,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.
@ -343,7 +343,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