Zero is a valid file descriptor
It's not safe to close file descriptors in the socket destructor given we may pass the fd to other tasks.

Maybe revisit with calls to dup(...) or something later.