STRUCT PIPE_INODE_IN(9) pipes API STRUCT PIPE_INODE_IN(9)NAME
struct_pipe_inode_info - a linux kernel pipe
SYNOPSIS
struct pipe_inode_info {
wait_queue_head_t wait;
unsigned int nrbufs;
unsigned int curbuf;
struct page * tmp_page;
unsigned int readers;
unsigned int writers;
unsigned int waiting_writers;
unsigned int r_counter;
unsigned int w_counter;
struct fasync_struct * fasync_readers;
struct fasync_struct * fasync_writers;
struct inode * inode;
struct pipe_buffer bufs[PIPE_BUFFERS];
};
MEMBERS
wait
reader/writer wait point in case of empty/full pipe
nrbufs
the number of non-empty pipe buffers in this pipe
curbuf
the current pipe buffer entry
tmp_page
cached released page
readers
number of current readers of this pipe
writers
number of current writers of this pipe
waiting_writers
number of writers blocked waiting for room
r_counter
reader counter
w_counter
writer counter
fasync_readers
reader side fasync
fasync_writers
writer side fasync
inode
inode this pipe is attached to
bufs[PIPE_BUFFERS]
the circular array of pipe buffers
COPYRIGHT Kernel Hackers Manual 2.6. July 2010 STRUCT PIPE_INODE_IN(9)
Check Out this Related Man Page
IO::Pipe(3pm) Perl Programmers Reference Guide IO::Pipe(3pm)NAME
IO::Pipe - supply object methods for pipes
SYNOPSIS
use IO::Pipe;
$pipe = new IO::Pipe;
if($pid = fork()) { # Parent
$pipe->reader();
while(<$pipe>) {
...
}
}
elsif(defined $pid) { # Child
$pipe->writer();
print $pipe ...
}
or
$pipe = new IO::Pipe;
$pipe->reader(qw(ls -l));
while(<$pipe>) {
...
}
DESCRIPTION
"IO::Pipe" provides an interface to creating pipes between processes.
CONSTRUCTOR
new ( [READER, WRITER] )
Creates an "IO::Pipe", which is a reference to a newly created symbol (see the "Symbol" package). "IO::Pipe::new" optionally takes two
arguments, which should be objects blessed into "IO::Handle", or a subclass thereof. These two objects will be used for the system call
to "pipe". If no arguments are given then method "handles" is called on the new "IO::Pipe" object.
These two handles are held in the array part of the GLOB until either "reader" or "writer" is called.
METHODS
reader ([ARGS])
The object is re-blessed into a sub-class of "IO::Handle", and becomes a handle at the reading end of the pipe. If "ARGS" are given
then "fork" is called and "ARGS" are passed to exec.
writer ([ARGS])
The object is re-blessed into a sub-class of "IO::Handle", and becomes a handle at the writing end of the pipe. If "ARGS" are given
then "fork" is called and "ARGS" are passed to exec.
handles ()
This method is called during construction by "IO::Pipe::new" on the newly created "IO::Pipe" object. It returns an array of two objects
blessed into "IO::Pipe::End", or a subclass thereof.
SEE ALSO
IO::Handle
AUTHOR
Graham Barr. Currently maintained by the Perl Porters. Please report all bugs to <perl5-porters@perl.org>.
COPYRIGHT
Copyright (c) 1996-8 Graham Barr <gbarr@pobox.com>. All rights reserved. This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
perl v5.12.1 2010-04-26 IO::Pipe(3pm)