[racket] OS level pipes and named pipes

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Sun Sep 30 08:44:29 EDT 2012

At Sun, 30 Sep 2012 13:12:57 +0200, Richard Wossal wrote:
> I recently tried to create unix named pipes (aka fifos) from within
> Racket. I couldn't find anything in the docs about it so I did a
> grep for 'mknod' and 'mkfifo' on the Racket sources and nothing turned
> up. Am I missing something obvious here, or is creating fifos just not
> (yet?) implemented?

There's no function for creating fifos, so far. I'd use `system*' and
`mkfifo'.

> On a somewhat related note, the docs for make-pipe[0] say that those
> pipes are "not related to OS-level pipes (which are file-stream ports)".
> However, the linked File Port docs don't say anything about pipes,
> neither the anonymous nor the named version. It seems that the only
> place where anonymous OS-level pipes are used in Racket is in
> subprocess[1]. Maybe the note above make-pipe should link there instead?

I agree that the cross-reference isn't helpful there. I'll move the
note into the margin with more explanation that OS pipes can show up
via the initial port or as a result of `subprocess'.


Posted on the users mailing list.