Hi,

On Thu 29 Nov 2012 23:42, Mark H Weaver <m...@netris.org> 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/

Reply via email to