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/