Use mkfifo instead of mknod to create a FIFO. Mknod require root privileges. Index: buildlectern/src/POSIX/OSUtilsPosix.m3 --- buildlectern/src/POSIX/OSUtilsPosix.m3.orig Mon May 20 13:04:46 1996 +++ buildlectern/src/POSIX/OSUtilsPosix.m3 Thu Jul 10 21:03:34 1997 @@ -32,10 +32,10 @@ VAR pFifo: TEXT := NIL; PROCEDURE CreateFifo(p: TEXT) RAISES {OSError.E} = - CONST Mode = Unix.fifo_special + Unix.MROWNER + Unix.MWOWNER; + CONST Mode = Unix.MROWNER + Unix.MWOWNER; BEGIN <* ASSERT pFifo=NIL *> - IF Unix.mknod(M3toC.TtoS(p), Mode, 0) < 0 THEN + IF Unix.mkfifo(M3toC.TtoS(p), Mode) < 0 THEN OSErrorPosix.Raise(); END; pFifo := p;