> From: Friar Puck <p...@birchwood-abbey.net> > Date: Mon, 23 Feb 2015 16:01:13 -0700 > > > From: Friar Puck <p...@birchwood-abbey.net> > > Date: Sun, 21 Dec 2014 13:03:25 -0700 > > > > [...] > > > > Encouraging results are just what SOMEONE needs when going in the ring > > with up to 104(!) possible demons in the guise of without-interrupts. > > And that's just the runtime system. > > As The Reformation grinds along, I find that without-interrupts is > used for a couple of reasons. I am looking for uses intended to make > multiple side-effects "atomic" from the point of view of other > threads, and replacing them with explicit serialization via new thread > mutexes.
I have re-based and re-arranged my SMP branch, moving The Reformation to the beginning of the chain and pushing it into master. Without- interrupts is therewith banished from the runtime system (outside of thread.scm and a handful of other applies). The only user visible changes THIS time were the disappearance of two related variables: *save-uncompressed-files?* *uncompressed-file-lifetime* I punted the uncompressed-files cache. If some ancient hardware really needs it, you know where to scream. (I was tired and feeling under-motivated. :-) There is still plenty of rope out there for those intent on injuring themselves. For example I did not add a thread mutex to every interpreter environment. Two concurrent threads can extend the same top-level environment and get unexpected results. (Maybe SOMEONE should lock down load-option? load? eval?!) MOST data structures (including strings, vectors, flonums, hash tables, random states, subprocesses, and generic functions) should not be concurrently modified. I've only banished without-interrupts and locked up behind-the-scenes data like the default-random-state and the default object-hash table. (Actually, I locked up ALL object-hash tables. Now that I've [re?]read the documentation, I wish I hadn't.) _______________________________________________ MIT-Scheme-devel mailing list MIT-Scheme-devel@gnu.org https://lists.gnu.org/mailman/listinfo/mit-scheme-devel