On Nov 11, 2008, at 6:54 PM, Charles Oliver Nutter wrote: > * require must only initiate loading once > * we can't guarantee loading has completed without risking deadlocks > * callers of require expect loading to be completed by the time it > returns > > Then: > > * it is impossible to provide all basic require guarantees to > multiple threads requiring the same file at the same time It would seem that many of the global $ variables would need protecting from concurrent access from multiple threads. So, wouldn't it solve the problem simply to have a mutex (or set of mutexes) to controll access to these, and then claim the mutex associated with $" while doing the require? Dave