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.
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.

nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome