Instead of sharing the file descriptor across a goroutine (bro, like WTF), let one go routine manage the file descriptor itself.