So you think you understand threads? Felixweb is down again, due to 100% CPU use and continuous swapping. I am guessing this is because of the way the GC is called: it's called from a thread. If you look at the collect() routine you will see there's no lock. This is deliberate: the locking is supposed to be handled by the world stop routine (only .. I don't think it is called).
So here's the challenge: prove its a bug and fix it :) The GC must be run in a single thread whilst nothing else is running, that is, the collection process is not thread safe, so all other threads have to be stopped before running it. If the GC is called by allocator calls, this should work. However if the GC is called by a "manual" call to collect() I think it does not. The collect() in the Felix library should call a routine that does the same as allocate() does when it detects a collection is required. -- john skaller skal...@users.sourceforge.net http://felix-lang.org ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language