handle SOCK_CLOEXEC appropriately for socket()