Hi, On Sun 05 Mar 2017 21:49, ludo@gnu.org (Ludovic Courtès) writes: > Andy Wingo skribis: > >> On Thu 22 Dec 2016 00:53, ludo@gnu.org (Ludovic Courtès) writes: >> >>> +(define (module-generate-unique-id! m) >>> + (let ((i (module-next-unique-id m))) >>> + (set-module-next-unique-id! m (+ i 1)) >>> + i)) >> >> This introduces a race condition when expanding from multiple threads at >> once. Any plan here? > > Good point! We could grab a per-module mutex for that, though that’s > again a fat mutex. > > Thoughts? I would use atomic boxes if possible, but they are in another module :/ Even mutexes aren't directly available in boot-9 any more... Alternately we can make a new primitive for module-generate-unique-id! which can obviously use C. That's probably the easiest option, sadly! Andy