Use an anonymous fifo instead of a tmp file

Thanks @paulnicholson ; )