Fix thread-unsafe lazy initializations.
authorMark H Weaver <mhw@netris.org>
Thu, 28 Feb 2013 22:56:58 +0000 (17:56 -0500)
committerMark H Weaver <mhw@netris.org>
Tue, 5 Mar 2013 21:04:55 +0000 (16:04 -0500)
commitf57ea23ac8e1436f37ceeda3ea8625243c20e645
tree9770b54992f625abae89964d8b6efea62d09dea6
parent29ace173b170a5d77e6becb30fb1d9f253a373d5
Fix thread-unsafe lazy initializations.

* libguile/debug.c (scm_local_eval):
  libguile/ports.c (scm_current_warning_port):
  libguile/strports.c (scm_eval_string_in_module): Perform
  lazy-initialization while holding a mutex.  Use SCM_UNDEFINED as the
  uninitialized value.  Use 'scm_c_*_variable'.

* doc/ref/api-modules.texi (Accessing Modules from C): Fix
  'my_eval_string' example to be thread-safe.
doc/ref/api-modules.texi
libguile/debug.c
libguile/ports.c
libguile/strports.c