summaryrefslogtreecommitdiff
path: root/ext/fiddle/closure.c
diff options
context:
space:
mode:
authorJeremy Evans <code@jeremyevans.net>2020-03-08 17:47:48 -0700
committerJeremy Evans <code@jeremyevans.net>2020-03-08 17:47:48 -0700
commit040cfc89b9a110cd0fb2abdcd35e8215b4a71f60 (patch)
tree40aa1b949a0b0e7deed87414f0269505867a7c09 /ext/fiddle/closure.c
parentfe3514ae6060c5be7bef1cbc1242e62236f2b5a1 (diff)
Do not set USE_FFI_CLOSURE_ALLOC=1 in fiddle on OpenBSD
On OpenBSD, USE_FFI_CLOSURE_ALLOC was always set to 0 previously. In 633a1f15d8228236094ddee12e4e169d655ec49e, the code was modified in a way that it ended up being set to 1 on OpenBSD. However, that results in SIGABRT when running make test-all, inside ffi_closure_free. Setting USE_FFI_CLOSURE_ALLOC back to 0 fixes the issue.
Diffstat (limited to 'ext/fiddle/closure.c')
-rw-r--r--ext/fiddle/closure.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/fiddle/closure.c b/ext/fiddle/closure.c
index 2044c836ea..40cee55e9a 100644
--- a/ext/fiddle/closure.c
+++ b/ext/fiddle/closure.c
@@ -13,6 +13,10 @@ typedef struct {
ffi_type **argv;
} fiddle_closure;
+#if defined(__OpenBSD__)
+# define USE_FFI_CLOSURE_ALLOC 0
+#endif
+
#if defined(USE_FFI_CLOSURE_ALLOC)
#elif !defined(HAVE_FFI_CLOSURE_ALLOC)
# define USE_FFI_CLOSURE_ALLOC 0