mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
Avoid Stack overflow' errors when running
make check'
For explanation, see comments and text in the new file libguile/measure-hwm.scm. * .gitignore: Add libguile/stack-limit-calibration.scm. * check-guile.in: Load libguile/stack-limit-calibration.scm. * configure.in: Add AC_CONFIG_FILES to generate test-use-srfi from test-use-srfi.in. * libguile/Makefile.am (TESTS, TESTS_ENVIRONMENT, stack-limit-calibration.scm): New targets, so that `make check' calibrates the stack limit before running the Guile test suite. * libguile/measure-hwm.scm: New file, calibrates stack limit for `make check'. * libguile/stackchk.c (scm_sys_get_stack_size): New primitive. * libguile/stackchk.h (scm_sys_get_stack_size): New primitive (declaration). * test-suite/standalone/test-use-srfi: Renamed test-use-srfi.in, so that ./configure can fill in variables in it. * test-suite/standalone/test-use-srfi.in: Load libguile/stack-limit-calibration.scm.
This commit is contained in:
parent
88cefbc7de
commit
d8b6e19181
9 changed files with 180 additions and 3 deletions
|
@ -24,6 +24,7 @@
|
|||
#include "libguile/_scm.h"
|
||||
#include "libguile/ports.h"
|
||||
#include "libguile/root.h"
|
||||
#include "libguile/threads.h"
|
||||
|
||||
#include "libguile/stackchk.h"
|
||||
|
||||
|
@ -78,6 +79,17 @@ scm_stack_report ()
|
|||
scm_puts ("\n", port);
|
||||
}
|
||||
|
||||
|
||||
SCM_DEFINE (scm_sys_get_stack_size, "%get-stack-size", 0, 0, 0,
|
||||
(),
|
||||
"Return the current thread's C stack size (in Scheme objects).")
|
||||
#define FUNC_NAME s_scm_sys_get_stack_size
|
||||
{
|
||||
return scm_from_long (scm_stack_size (SCM_I_CURRENT_THREAD->base));
|
||||
}
|
||||
#undef FUNC_NAME
|
||||
|
||||
|
||||
void
|
||||
scm_init_stackchk ()
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue