I just committed fixes to sync up the other way (NULL returns) and added back the 'retry' logic if we have IPv6-enabled, but not configured (but in a different way than before).
Looking at the original find_default_family code, it also tried to do a bind to see if IPv6 works just for 'certain levels of OpenUNIX.' So, the socket() call would work on those OSes, but not later on when we try to bind to the socket. (So it seems to me based on that comment.)
I guess what would make sense to me to do is to try the apr_bind() in that code segment where we create the socket on those releases of OpenUNIX with a platform-specific define. If it works, close the socket, then recreate it. (Ugh, but we're stretching for ideas here and doing the bind() for everyone seems, well, silly.) But, I have no idea what 'OpenUNIX' is, nor how to test it.
Anyone with any thoughts? (Solaris still works, FWIW.) -- justin