Coalescing pipe allocation
    Bruce Evans 
    bde at zeta.org.au
       
    Wed Feb  4 02:53:40 PST 2004
    
    
  
On Tue, 3 Feb 2004, Robert Watson wrote:
> On Tue, 3 Feb 2004, Peter Edwards wrote:
>
> > I have certainly taken that at face value at least once when deciding on
> > how to use (or not use) pipes.  Is this portability issue so
> > ridiculously out of date that the comment in the pipe(2) manpage should
> > be removed, or at least toned down? It seems silly to incur the costs of
> > implementation you've mentioned and then recommend that the feature not
> > be used.
> Well, I don't know so much about the portability issues, but I can say
> that it seems silly to incur the costs if few applications take advantage
> of the feature.  Especially if the cost can be defered until the feature
Pipes were originally made bidirectional partly because this feature was
"free":
% RCS file: /home/ncvs/src/sys/kern/uipc_syscalls.c,v
% Working file: uipc_syscalls.c
% head: 1.171
% ...
% ----------------------------
% revision 1.11
% date: 1996/01/01 10:28:21;  author: peter;  state: Exp;  lines: +3 -3
% Make pipe() return a set of bidirectional pipe fd's rather than one-way only
% just like on SVR4.
%
% This has no effect on any current programs in our source, but makes
% the use of SVR4 code a little easier.  There is no code or implementation
% cost in the kernel.. This two-line change merely sets the modes on the ends
% of the pipes to be bidirectional.  There are no other changes.
% ----------------------------
This was before optimization made the implementation of pipes complicated.
Bruce
    
    
More information about the freebsd-current
mailing list