Start more then 1 UDP server thread. I did this by slight improvement
of my really icky code to start different kinds of servers; basically you can set the number of servers of each kind, and if a server of that type exits, another one of the same type is started. The code is a little easier to follow then it was before, but still quite yucky. So whats the "right" way? The problem is that if multiple children are selecting on a set of fd's and an fd comes ready, all of the children are woken up. This is called a "select storm" since they all wake up, try to read from the same fd, and all but one go right back to sleep. Lots of overhead, and programs like apache go to great lengths to avoid it. Takes a lot code, lots of bookkeeping, lots of goo that is hard to understand 6 months later. Not worth it for tmcd, at least not yet. If we start creating many 1000s node experiments, that could change in a hurry.
Showing with 70 additions and 26 deletions