CheckHost in fact already runs with the host held. I was wondering whether it was really necessary to keep locking and unlocking the hash table but decided to play it safe for now and leave it as-is. You are of course right that it's the order of acquisition that matters, not the drop order. But it's still wrong.