util/concurrency/ files msg.h - message passing between threads mutex.h - small enhancements that wrap boost::mutex also SimpleMutex mvar.h This is based on haskell's MVar synchronization primitive: http://www.haskell.org/ghc/docs/latest/html/libraries/base/Control-Concurrent-MVar.html It is a thread-safe queue that can hold at most one object. You can also think of it as a box that can be either full or empty. race.h RACECHECK rwlock.h - read/write locks (RWLock) RWLock RWLockRecursive RWLockRecursiveNongreedy spin_lock.h synchronization.h Notification, NotifyAll threadlocal.h thread_pool.h value.h Guarded DiagStr mapsf goofy things that need reworking: list.h task.h