Hi,
On Thu 29 Nov 2012 23:42, Mark H Weaver <[email protected]> writes:
> SCM
> scm_local_eval (SCM exp, SCM env)
> {
> static SCM local_eval_var = SCM_BOOL_F;
>
> if (scm_is_false (local_eval_var))
> local_eval_var = scm_c_public_variable ("ice-9 local-eval", "local-eval");
>
> return scm_call_2 (SCM_VARIABLE_REF (local_eval_var), exp, env);
> }
>
> The problem is that it's possible for a thread to see a non-#f value for
> 'local_eval_var' before it sees the memory it points to properly
> initialized.
scm_c_public_variable is not idempotent?
If it is, where is the problem?
Andy
--
http://wingolog.org/