2014/1/23 Mark H Weaver <m...@netris.org>: > This patch fixes all of the thread-unsafe lazy initializations I could > find in stable-2.0, using 'scm_i_pthread_once'. > > Any comments and/or objections?
Does this fix the error that Chris Vine found some time ago? If so, is there any test in the test suite that failed before, and doesn't fail anymore? According to Ludovic, Chris' example corresponds to test-pthread-create-secondary.c -- yet they differ in that guile's test doesn't use scm_c_eval_string, which helped to reveal the problem. Shouldn't it be added to the test suite along with the patch, for regression? Could we come up with any tests that would prove with certainty that there are still some failures caused by lazy intializations of modules? (e.g. would it help to write a test that loads all the modules that are provided by guile, each in a separate thread?) I hope that this is not a big faux pas :) Thanks