The mkfifo attempts to create a named pipe with the specified
name and mode (modified by the process's umask). The function
returns 0 upon success, or -1 and sets errno upon failure.
Not all systems support the mkfifo function and even on
systems that do implement the mkfifo system call, the
underlying file system may not support the concept of a named pipe,
e.g, an NFS filesystem.