Subject: Re: bi-directional pipes?
To: NetBSD Kernel Technical Discussion List <tech-kern@NetBSD.ORG>
From: Greg A. Woods <woods@weird.com>
List: tech-kern
Date: 02/04/2003 22:28:05
[ On Tuesday, February 4, 2003 at 19:01:56 (-0800), Brian Chase wrote: ]
> Subject: Re: bi-directional pipes?
>
> It's one thing to make someone code around the problem, but it seems
> like it'd be a bit more problematic if all you've got is a binary and no
> way to recompile it to /not/ rely on bi-directional pipes.

Even if you can re-compile your code it won't always be very easy to
work around uni-directional pipes if the code was designed to expect
bi-directional pipes.  I've seen a couple of really interesting
applications of bi-directional pipes that wouldn't work very well with a
pair of uni-directional pipes, at least not without a bunch more
hacking.

Uni-directional pipes always seemed to me like they were taking the
analogy a little bit too far -- certainly they're fine for the way the
shell (and popen()) sets up pipelines, but for almost every other use
they are in fact quite limiting.  Any decent inter-process
communications mechanism should be bi-directional without having to do
everything twice and keep track of twice as many end-points.

-- 
								Greg A. Woods

+1 416 218-0098;            <g.a.woods@ieee.org>;           <woods@robohack.ca>
Planix, Inc. <woods@planix.com>; VE3TCP; Secrets of the Weird <woods@weird.com>