aboutsummaryrefslogtreecommitdiffstats
path: root/module/lua
diff options
context:
space:
mode:
Diffstat (limited to 'module/lua')
-rw-r--r--module/lua/llimits.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/module/lua/llimits.h b/module/lua/llimits.h
index 177092fbc..25466f14e 100644
--- a/module/lua/llimits.h
+++ b/module/lua/llimits.h
@@ -126,7 +126,16 @@ typedef LUAI_UACNUMBER l_uacNumber;
* Minimum amount of available stack space (in bytes) to make a C call. With
* gsub() recursion, the stack space between each luaD_call() is 1256 bytes.
*/
+#if defined(__FreeBSD__)
+/*
+ * FreeBSD needs a few extra bytes in unoptimized debug builds to avoid a
+ * double-fault handling the error when the max call depth is exceeded just
+ * before the C stack runs out. 64 bytes seems to do the trick.
+ */
+#define LUAI_MINCSTACK 4160
+#else
#define LUAI_MINCSTACK 4096
+#endif
/*
** maximum number of upvalues in a closure (both C and Lua). (Value