Paul Brannan wrote: >> While a thread is requiring a given file, another thread which >> requires the same file will be blocked until the former thread >> finishes loading, and the result will be false. > > As Charlie pointed out, this behavior can cause a deadlock: I've given this a lot of thought, and I'm just about positive the best you can do is return immediately if another thread has *started* requiring a given file. There's no safe way to ensure it has *completed*. Ultimately I think the more important guarantee is that require cause a file to start loading *exactly once*. Moral of the story: don't require the same file across threads. - Charlie