Node:Pipes, Previous:Input, Up:Other I/O
In addition to using Gforth in pipes created by other processes
(see Gforth in pipes), you can create your own pipe with
open-pipe, and read from or write to it.
open-pipe c-addr u wfam -- wfileid wior gforth ``open-pipe''
close-pipe wfileid -- wretval wior gforth ``close-pipe''
If you write to a pipe, Gforth can throw a broken-pipe-error; if
you don't catch this exception, Gforth will catch it and exit, usually
silently (see Gforth in pipes). Since you probably do not want
this, you should wrap a catch or try block around the code
from open-pipe to close-pipe, so you can deal with the
problem yourself, and then return to regular processing.
broken-pipe-error -- n gforth ``broken-pipe-error''
the error number for a broken pipe