H-uru/dirtsand — pull request #72 by Hoikas (2013-02-13 01:15:01+00:00)
Title: Concurrency Improvement

This changeset addresses concurrency issues observed during the Gehn Shard Birthday Party. It was observed that the game host thread would get stuck in `dm_propagate` at seemingly random points in time. To address this, I have changed all message broadcasts to be nonblocking. To ensure that clients are not kicked off for simply moving around, I allow for sends to fail if the legacy unreliable send bit is set on the message (this is inverted into a require reliable bit on the net message). I also removed the std::list copy hack from the AuthDaemon and replaced it with nonblocking sends. This is likely the best fix for the problem without a major restructuring of the server.