parent
e3e65a9cdf
commit
a3a5a4e2e2
|
@ -3219,6 +3219,11 @@ Scheme_Object *ffi_do_call(int argc, Scheme_Object *argv[], Scheme_Object *self)
|
||||||
nargs, ivals, avalues,
|
nargs, ivals, avalues,
|
||||||
offsets, p);
|
offsets, p);
|
||||||
|
|
||||||
|
/* Use `data' to make sure it's kept alive (as far as the GC is concerned)
|
||||||
|
until the foreign call returns: */
|
||||||
|
if ((void*)data == (void*)scheme_true)
|
||||||
|
scheme_signal_error("dummy test suceeded!?");
|
||||||
|
|
||||||
if (save_errno != 0) save_errno_values(save_errno);
|
if (save_errno != 0) save_errno_values(save_errno);
|
||||||
ivals = NULL; /* no need now to hold on to this */
|
ivals = NULL; /* no need now to hold on to this */
|
||||||
for (i=0; i<nargs; i++) { avalues[i] = NULL; } /* no need for these refs */
|
for (i=0; i<nargs; i++) { avalues[i] = NULL; } /* no need for these refs */
|
||||||
|
|
|
@ -2548,6 +2548,11 @@ Scheme_Object *ffi_do_call(int argc, Scheme_Object *argv[], Scheme_Object *self)
|
||||||
nargs, ivals, avalues,
|
nargs, ivals, avalues,
|
||||||
offsets, p);
|
offsets, p);
|
||||||
|
|
||||||
|
/* Use `data' to make sure it's kept alive (as far as the GC is concerned)
|
||||||
|
until the foreign call returns: */
|
||||||
|
if ((void*)data == (void*)scheme_true)
|
||||||
|
scheme_signal_error("dummy test suceeded!?");
|
||||||
|
|
||||||
if (save_errno != 0) save_errno_values(save_errno);
|
if (save_errno != 0) save_errno_values(save_errno);
|
||||||
ivals = NULL; /* no need now to hold on to this */
|
ivals = NULL; /* no need now to hold on to this */
|
||||||
for (i=0; i<nargs; i++) { avalues[i] = NULL; } /* no need for these refs */
|
for (i=0; i<nargs; i++) { avalues[i] = NULL; } /* no need for these refs */
|
||||||
|
|
Loading…
Reference in New Issue
Block a user