After a little testing with a hacked KDC that sends back TCP responses in pieces with delays, I don't think that there is a problem with that part of the client code. The library changes I've just checked in appear to fix the select/EINTR problem, so I'm going to mark this ticket as resolved.