internal void DropGlobalThreadLock() { if (thread_hash.Count != 0) throw new InternalError (); if (has_thread_lock) { has_thread_lock = false; thread_lock_mutex.Unlock (); } }