On Nov 3, 2011, at 8:11 AM, Jeff Trawick wrote: > > Maybe I misunderstood, but I thought Rüdiger's original point was on > track: EAGAIN here is a bug to fix somewhere since EAGAIN from > blocking read is should-not-occur, and this code doesn't need to grow > another error path. >
From some research, it looks like EAGAIN is possible in inet_csk_wait_for_connect() as well as there being other people reporting similar "can't occur but does" with EAGAIN and reads... It looks like, at least according to recv() that EAGAIN is what we would get if a timeout occurs. In any case, it doesn't seem right to fail in the *prefetch* stage if we get EAGAIN... if it is a "real" failure, let the remaining code path get it and handle it.
