1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00

fix arbiter compilation with the generic codepath

* libguile/arbiters.c (scm_try_arbiter, scm_release_arbiter): Fix for
  the generic case; not sure why it wasn't working.
This commit is contained in:
Andy Wingo 2009-12-09 10:21:31 +01:00
parent 7230aaf961
commit 393301c519

View file

@ -121,8 +121,10 @@ SCM_DEFINE (scm_try_arbiter, "try-arbiter", 1, 0, 0,
#define FUNC_NAME s_scm_try_arbiter #define FUNC_NAME s_scm_try_arbiter
{ {
scm_t_bits old; scm_t_bits old;
scm_t_bits *loc;
SCM_VALIDATE_SMOB (1, arb, arbiter); 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); return scm_from_bool (old == SCM_UNLOCK_VAL);
} }
#undef FUNC_NAME #undef FUNC_NAME
@ -147,8 +149,10 @@ SCM_DEFINE (scm_release_arbiter, "release-arbiter", 1, 0, 0,
#define FUNC_NAME s_scm_release_arbiter #define FUNC_NAME s_scm_release_arbiter
{ {
scm_t_bits old; scm_t_bits old;
scm_t_bits *loc;
SCM_VALIDATE_SMOB (1, arb, arbiter); 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); return scm_from_bool (old == SCM_LOCK_VAL);
} }
#undef FUNC_NAME #undef FUNC_NAME