diff --git a/src/foreign/foreign.c b/src/foreign/foreign.c index 1e8faa6658..b782eebfcb 100644 --- a/src/foreign/foreign.c +++ b/src/foreign/foreign.c @@ -2448,7 +2448,7 @@ Scheme_Object *ffi_do_call(void *data, int argc, Scheme_Object *argv[]) } else { ivals = malloc(nargs * sizeof(ForeignAny)); avalues = scheme_malloc(nargs * sizeof(void*)); - offsets = scheme_malloc(nargs * sizeof(long)); + offsets = scheme_malloc_atomic(nargs * sizeof(long)); } /* iterate on input values and types */ for (i=0; i