Should set FD_CLOEXEC on this to avoid leaking the fd into exec()d processes?