diff --git a/src/3rdparty/forkfd/forkfd.c b/src/3rdparty/forkfd/forkfd.c index edef3c5bcc8..072e4adbc8a 100644 --- a/src/3rdparty/forkfd/forkfd.c +++ b/src/3rdparty/forkfd/forkfd.c @@ -35,7 +35,7 @@ //#define FORKFD_DISABLE_FORK_FALLBACK 1 /* disable falling back to fork() from system_forkfd() */ #include -#if defined(__OpenBSD__) || defined(__NetBSD__) +#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) # include #endif #include @@ -75,6 +75,7 @@ #if (defined(__FreeBSD__) && defined(__FreeBSD_version) && __FreeBSD_version >= 1300000) # include # define HAVE_EVENTFD 1 +# define HAVE_WAITID 1 #endif #if (defined(__FreeBSD__) && defined(__FreeBSD_version) && __FreeBSD_version >= 1000032) || \ (defined(__OpenBSD__) && OpenBSD >= 201505) || \ diff --git a/src/3rdparty/forkfd/forkfd_freebsd.c b/src/3rdparty/forkfd/forkfd_freebsd.c index ba18d835915..9cb327835c3 100644 --- a/src/3rdparty/forkfd/forkfd_freebsd.c +++ b/src/3rdparty/forkfd/forkfd_freebsd.c @@ -31,6 +31,10 @@ #undef SYSTEM_FORKFD_CAN_VFORK +#ifndef HAVE_WAITID +# error Need waitid() API +#endif + // in forkfd.c static int convertForkfdWaitFlagsToWaitFlags(int ffdoptions); static void convertStatusToForkfdInfo(int status, struct forkfd_info *info);