1 --- Modules/_posixsubprocess.c.orig	2022-03-23 16:12:04.000000000 -0400
2 +++ Modules/_posixsubprocess.c	2022-04-18 10:42:48.781552000 -0400
3 @@ -55,7 +55,7 @@
4  # endif
5  #endif
6 
7 -#if defined(__FreeBSD__) || (defined(__APPLE__) && defined(__MACH__)) || defined(__DragonFly__)
8 +#if defined(__FreeBSD__) || (defined(__APPLE__) && defined(__MACH__)) || defined(__DragonFly__) || defined(__MidnightBSD__)
9  # define FD_DIR "/dev/fd"
10  #else
11  # define FD_DIR "/proc/self/fd"
12 @@ -86,7 +86,7 @@
13  }
14 
15 
16 -#if defined(__FreeBSD__) || defined(__DragonFly__)
17 +#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__MidnightBSD__)
18  /* When /dev/fd isn't mounted it is often a static directory populated
19   * with 0 1 2 or entries for 0 .. 63 on FreeBSD, NetBSD, OpenBSD and DragonFlyBSD.
20   * NetBSD and OpenBSD have a /proc fs available (though not necessarily
21 @@ -336,7 +336,7 @@
22      ++start_fd;
23  #endif
24 
25 -#if defined(__FreeBSD__) || defined(__DragonFly__)
26 +#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__MidnightBSD__)
27      if (!_is_fdescfs_mounted_on_dev_fd())
28          proc_fd_dir = NULL;
29      else
30