The first version was from Rand (called "Rand Pipes"). They certainly were available in the mid-70s on Sixth Edition, you have to ask someone like Bruce Borden if they were on Fifth. I think the code is on one of the 'USENIX' tapes in Warren's archives. At this point in time, someone would need to refresh my memory of the details of Rand's implementation compared to what came in the USG systems in the 1980s. For instance, I believe the early versions used mknod(2) to create the "named entity." IIRC early USG did that too, and mkfifo(3) came as part of the POSIX (I have memories of the discussion at a POSIX meeting, but as I say, I've forgotten the details). IIRC there were differences in buffering behavior, flushing, error path between USG's later versions and the original Rand, but I'd have to stare at the code again to remember. On Fri, Mar 6, 2020 at 3:42 PM Paul Ruizendaal wrote: > The Luderer paper on distributed Unix has the following paragraph: > > "A new special UNIX interprocess communication mechanism is the fifo, > which provides communication between unrelated processes by associating a > new special file type with a file name. Since remote fifos are legal, they > can be used for interprocessor communication between S-UNIX machines or > between an S-UNIX machine and an F-UNIX machine.” > > The paper is from late 1981. Maybe I’m especially mud-eyed today, but I > cannot see FIFO’s implemented in V7..V8 or 4.1xBSD. When did FIFO’s become > a standard Unix feature? > > Paul > >