On Sat, Nov 16, 2013 at 11:41:03AM +0100, Justus Winter wrote: > I just realized that I tested these changes *with* the > libports_stability.patch, so the threads do not actually time out and > so this particular code is never reached. Maybe we should defer this > patch until Richards patch destruction rework is finished and we got > rid of that patch?
We can't get totally rid of it. We can let threads terminate cleanly, but we still need to force the global timeout to 0, since requests can arrive while a server is going away, after it was determined to return from ports_manage_port_operations_multithread, but before the receive rights have been destroyed. If this happens, clients will get complaints about farms being bought by computers. But this is another subject. The problem with letting threads terminate is that libpthread has some subtle bugs. Thread destruction isn't only meant to reduce resource usage after peaks, but also to fix those bugs. I guess we can merge your changes however, since they're not conflicting at all. With the fix Samuel mentioned, it should be fine. -- Richard Braun