Convert the global mutex protecting the directory lookup name cache from a mutex to a reader/writer lock.  Lookup operations first grab a read lock and perform the lookup.  If the operation results in a need to modify the cache, then it tries to do an upgrade.  If that fails, it drops the read lock, obtains a write lock, and redoes the lookup.
Convert the global mutex protecting the directory lookup name cache from a
mutex to a reader/writer lock.  Lookup operations first grab a read lock and
perform the lookup.  If the operation results in a need to modify the cache,
then it tries to do an upgrade.  If that fails, it drops the read lock,
obtains a write lock, and redoes the lookup.

jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase