Linas Vepstas escreveu:
> 2008/11/12 Linas Vepstas <[EMAIL PROTECTED]>:
> 
>> Today, I got a new crash. I have multiple threads, which
>> are doing nothing but a bunch of define's, in parallel.
>> (They're loading scheme code from various files).
> 
> Studying the code just a little bit more, this looks like
> a dopey and pointless error check within guile,
> specifically, at libguile/throw.c line 695.
> Removing it seems to result in a runable system.


Re -the subject- : I looked at the evaluator code from a threading
perspective a few months back, and come to the conclusion that it 
is totally broken.   The memoization code rewrites expressions 
without locking or atomicity, and if you have two threads memoizing
(ie. executing the same code for the 1st time), you will have 
unpredictable effects.

-- 
 Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen



Reply via email to