Implement Gille's suggested warning patch and fix for select returning 0. I think I'd like to keep the timeout to avoid long delays waiting for things to fail, and to support faster switchover to alternative interfaces.