Keep a file descriptor reading the fifo instead of just opening and closing it

should take care of the sigpipe when no one is reading it anymore due to
broken connection