From dca17223406f15a42fc363333847721f3647eac7 Mon Sep 17 00:00:00 2001 From: Andy Pan Date: Mon, 13 May 2024 07:29:00 +0800 Subject: [PATCH] Use kqueue as the backend of AE on DragonFlyBSD (#450) Currently, we use select(2) on DragonFlyBSD while `kqueue` is available on DragonFlyBSD since FreeBSD 4.1 and DragonFlyBSD was originally forked from FreeBSD 4.8 `select(2)` is a pretty old technique that has many defects compared to `kqueue`, we should switch to `kqueue` on DragonFlyBSD. Signed-off-by: Andy Pan --- src/config.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/config.h b/src/config.h index 2ff920a2a..a899ba8b9 100644 --- a/src/config.h +++ b/src/config.h @@ -115,7 +115,12 @@ #define HAVE_PIPE2 1 #endif -#if (defined(__APPLE__) && defined(MAC_OS_10_6_DETECTED)) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined (__NetBSD__) +/* Detect for kqueue */ +#if (defined(__APPLE__) && defined(MAC_OS_10_6_DETECTED)) || \ + defined(__DragonFly__) || \ + defined(__FreeBSD__) || \ + defined(__OpenBSD__) || \ + defined (__NetBSD__) #define HAVE_KQUEUE 1 #endif