#define FUNC_NAME s_scm_try_arbiter
{
scm_t_bits old;
+ scm_t_bits *loc;
SCM_VALIDATE_SMOB (1, arb, arbiter);
- FETCH_STORE (old, SCM_SMOB_DATA_0 (arb), SCM_LOCK_VAL);
+ loc = (scm_t_bits*)SCM_SMOB_OBJECT_N_LOC (arb, 0);
+ FETCH_STORE (old, *loc, SCM_LOCK_VAL);
return scm_from_bool (old == SCM_UNLOCK_VAL);
}
#undef FUNC_NAME
#define FUNC_NAME s_scm_release_arbiter
{
scm_t_bits old;
+ scm_t_bits *loc;
SCM_VALIDATE_SMOB (1, arb, arbiter);
- FETCH_STORE (old, SCM_SMOB_DATA_0 (arb), SCM_UNLOCK_VAL);
+ loc = (scm_t_bits*)SCM_SMOB_OBJECT_N_LOC (arb, 0);
+ FETCH_STORE (old, *loc, SCM_UNLOCK_VAL);
return scm_from_bool (old == SCM_LOCK_VAL);
}
#undef FUNC_NAME