quoting Nicolas Cannasse <[EMAIL PROTECTED]>: > > It seems it is called a few times in parallel, though. I see two options > > for what's happening: > > 1) boehm-gc indeed somehow finalizes things in parallel (although i dont > > see that would make much sense) > > I think that Boehm GC can perform parallel sweep phase, and thus > finalizers might be called in parallel threads. You have to make your > global list MT-safe by using a lock. > > Try to include (NEKO)/vm/context.h and you can use context_lock_new > context_lock , context_release and context_lock_delete.
Ok, i had read up on Boehm and noticed too that he thinks a lot about "mostly parallel finalizers" :) Thanks for the hint with your context locks. I've integrated that in my nekobind, now the bug went away. Which is great, because it's been a bugging me for a long time, only today i managed to make it somewhat reproducible (by using many threads). Thanks, Nic. It's great to be able to tap into your knowledge from time to time ;) -dan -- Neko : One VM to run them all (http://nekovm.org)
