diff src/os/unix/ngx_posix_config.h @ 9266:93bbb9fbf30d

Fixed compilation on NetBSD 10. NetBSD 10 changed struct kevent's udata type from "intptr_t" to "void *", similarly to how it is defined on other systems. This breaks compilation, since intptr_t is assumed on NetBSD. Fix is to limit special intptr_t handling to NetBSD versions before 10.0. To simplify testing, relevant definitions are moved from configure to code (which seems to be the right thing anyway).
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 06 May 2024 00:07:33 +0300
parents fc0d06224eda
children
line wrap: on
line diff
--- a/src/os/unix/ngx_posix_config.h
+++ b/src/os/unix/ngx_posix_config.h
@@ -124,7 +124,17 @@
 
 
 #if (NGX_HAVE_KQUEUE)
+
 #include <sys/event.h>
+
+/* NetBSD before 10.0 incompatibly defines kevent.udata as "intptr_t" */
+
+#if (defined __NetBSD__ && __NetBSD_Version__ < 999001500)
+#define NGX_KQUEUE_UDATA_T
+#else
+#define NGX_KQUEUE_UDATA_T  (void *)
+#endif
+
 #endif