From a282ae22afec0e5d5a8455c7aaa3e472839788e4 Mon Sep 17 00:00:00 2001 From: hexcoder- Date: Sun, 20 Oct 2019 03:34:46 +0200 Subject: [PATCH] In OpenBSD initial thread local storage is allocated with calloc(), which leads to locked mutexes and a stall. So no thread support (and no tls) here. --- libdislocator/libdislocator.so.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libdislocator/libdislocator.so.c b/libdislocator/libdislocator.so.c index 57607210..f3f02c8b 100644 --- a/libdislocator/libdislocator.so.c +++ b/libdislocator/libdislocator.so.c @@ -88,6 +88,10 @@ static u8 alloc_verbose, /* Additional debug messages */ hard_fail, /* abort() when max_mem exceeded? */ no_calloc_over; /* abort() on calloc() overflows? */ +#ifdef __OpenBSD__ +#define __thread +#warning no thread support available +#endif static __thread size_t total_mem; /* Currently allocated mem */ static __thread u32 call_depth; /* To avoid recursion via fprintf() */