If connect() fails with EALREADY, then retry. Unfortunately we also need to switch to a new FD. This is currently safe, but its a little fragile to changes in the code (especially if we ever expose the fd to applications) so it would be great to fix this issue properly in the kernel sometime and revert this commit. Change-Id: I12fb6b7f2b8ca40f425f66b504754048c9460329