summaryrefslogtreecommitdiffstats
path: root/platform/server/platform_config.h
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2020-09-18 08:27:02 +0200
committerRémi Verschelde <rverschelde@gmail.com>2020-09-18 10:27:55 +0200
commit5f4d64f4f3ca633a147eda995ab6613a446a4f0e (patch)
tree61882f396e990a342536a40ab9b95d27276de7b0 /platform/server/platform_config.h
parent2d9b409103f8bb0ee565b40cc3d4709939862e56 (diff)
downloadredot-engine-5f4d64f4f3ca633a147eda995ab6613a446a4f0e.tar.gz
Linux/BSD: Fix support for NetBSD
Add __NetBSD__ to `platform_config.h` so that it can find `alloca` and use the proper `pthread_setname_np` format. Rename RANDOM_MAX to avoid conflict with NetBSD stdlib. Fixes #42145.
Diffstat (limited to 'platform/server/platform_config.h')
-rw-r--r--platform/server/platform_config.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/platform/server/platform_config.h b/platform/server/platform_config.h
index bdff93f02b..73136ec81b 100644
--- a/platform/server/platform_config.h
+++ b/platform/server/platform_config.h
@@ -31,10 +31,19 @@
#if defined(__linux__) || defined(__APPLE__)
#include <alloca.h>
#endif
-#if defined(__FreeBSD__) || defined(__OpenBSD__)
-#include <stdlib.h>
+
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
+#include <stdlib.h> // alloca
+// FreeBSD and OpenBSD use pthread_set_name_np, while other platforms,
+// include NetBSD, use pthread_setname_np. NetBSD's version however requires
+// a different format, we handle this directly in thread_posix.
+#ifdef __NetBSD__
+#define PTHREAD_NETBSD_SET_NAME
+#else
#define PTHREAD_BSD_SET_NAME
#endif
+#endif
+
#ifdef __APPLE__
#define PTHREAD_RENAME_SELF
#endif