And a couple other issues: socket() may fail with EAFNOSUPPORT, and in
that case, the family needs to be rejected rather than accepted like
it was with the continue. For other socket() failures (like
EMFILE/ENFILE), the result is indeterminate and we need to return
EAI_SYSTEM rather than wrong results. Making these changes and I think
it will be ready to commit.