GC_PROTECT'ed the necessary variables (specifically, where >1 arg to

a function 'may GC')
This commit is contained in:
steven-jenkins 2002-02-12 13:38:20 +00:00
parent 96b6558a78
commit 424109a452
1 changed files with 17 additions and 3 deletions

View File

@ -16,9 +16,23 @@ s48_value time_plus_ticks()
{
struct timeval t;
struct timezone tz;
s48_value sch_tv_sec = S48_UNSPECIFIC;
s48_value sch_tv_usec = S48_UNSPECIFIC;
s48_value sch_listval = S48_UNSPECIFIC;
s48_value sch_retval
S48_DECLARE_GC_PROTECT(3);
if( gettimeofday(&t, &tz) ) s48_raise_os_error (errno);
return s48_cons (s48_enter_integer (t.tv_sec),
s48_cons (s48_enter_integer (t.tv_usec), S48_NULL));
S48_GC_PROTECT_3(sch_tv_sec, sch_tv_usec, sch_listval);
sch_tv_sec = s48_enter_integer(t.tv_sec);
sch_tv_usec = s48_enter_integer(t.tv_usec);
sch_listval = s48_cons (sch_tv_usec, S48_NULL);
sch_retval = s48_cons (sch_tv_sec, sch_listval);
S48_GC_UNPROTECT;
return sch_retval;
}