SCM z;
/* This critical section barrier will be replaced by a mutex. */
- SCM_DEFER_INTS;
+ SCM_CRITICAL_SECTION_START;
if (GREEDY_P (g))
{
if (scm_is_true (scm_hashq_get_handle
(greedily_guarded_whash, obj)))
{
- SCM_ALLOW_INTS;
+ SCM_CRITICAL_SECTION_END;
if (throw_p)
scm_misc_error ("guard",
z = scm_cons (SCM_BOOL_F, SCM_BOOL_F);
TCONC_IN (g->live, obj, z);
- SCM_ALLOW_INTS;
+ SCM_CRITICAL_SECTION_END;
}
return throw_p ? SCM_UNSPECIFIED : SCM_BOOL_T;
SCM res = SCM_BOOL_F;
/* This critical section barrier will be replaced by a mutex. */
- SCM_DEFER_INTS;
+ SCM_CRITICAL_SECTION_START;
if (!TCONC_EMPTYP (g->zombies))
TCONC_OUT (g->zombies, res);
if (scm_is_true (res) && GREEDY_P (g))
scm_hashq_remove_x (greedily_guarded_whash, res);
- SCM_ALLOW_INTS;
+ SCM_CRITICAL_SECTION_END;
return res;
}
SCM res = SCM_BOOL_F;
/* This critical section barrier will be replaced by a mutex. */
- SCM_DEFER_INTS;
+ SCM_CRITICAL_SECTION_START;
res = scm_from_bool (DESTROYED_P (GUARDIAN_DATA (guardian)));
- SCM_ALLOW_INTS;
+ SCM_CRITICAL_SECTION_END;
return res;
}
t_guardian *g = GUARDIAN_DATA (guardian);
/* This critical section barrier will be replaced by a mutex. */
- SCM_DEFER_INTS;
+ SCM_CRITICAL_SECTION_START;
if (DESTROYED_P (g))
{
- SCM_ALLOW_INTS;
+ SCM_CRITICAL_SECTION_END;
SCM_MISC_ERROR ("guardian is already destroyed: ~A",
scm_list_1 (guardian));
}
SET_DESTROYED (g);
- SCM_ALLOW_INTS;
+ SCM_CRITICAL_SECTION_END;
return SCM_UNSPECIFIED;
}
{
if (!scm_is_null (self_centered_zombies))
{
+ SCM port = scm_current_error_port ();
SCM pair;
scm_puts ("** WARNING: the following guarded objects were unguarded due to cycles:",
- scm_cur_errp);
- scm_newline (scm_cur_errp);
+ port);
+ scm_newline (port);
for (pair = self_centered_zombies;
!scm_is_null (pair); pair = SCM_CDR (pair))
{
- scm_display (SCM_CAR (pair), scm_cur_errp);
- scm_newline (scm_cur_errp);
+ scm_display (SCM_CAR (pair), port);
+ scm_newline (port);
}
self_centered_zombies = SCM_EOL;