pipemod man page on OpenIndiana

Man page or keyword search:  
man Server   20441 pages
apropos Keyword Search (all sections)
Output format
OpenIndiana logo
[printable version]

pipemod(7M)			STREAMS Modules			   pipemod(7M)

NAME
       pipemod - STREAMS pipe flushing module

DESCRIPTION
       The  typical  stream  is composed of a stream head connected to modules
       and terminated by a driver. Some stream configurations  such  as	 pipes
       and FIFOs do not have a driver and hence certain features commonly sup‐
       ported by the driver need to be provided by other  means.  Flushing  is
       one such feature, and it is provided by the pipemod module.

       Pipes  and  FIFOs  in  their  simplest  configurations only have stream
       heads. A write side is connected to a read side. This remains true when
       modules are pushed. The twist occurs at a point known as the mid-point.
       When an M_FLUSH message is passed from a write queue to	a  read	 queue
       the  FLUSHR  and/or FLUSHW bits have to be switched. The mid-point of a
       pipe is not always easily detectable, especially if there are  numerous
       modules	pushed	on either end of the pipe. In that case there needs to
       be a mechanism to intercept all message passing through the stream.  If
       the message is an M_FLUSH message and it is at the mid-point, the flush
       bits need to be switched. This bit switching is handled by the  pipemod
       module.

       pipemod should be pushed onto a pipe or FIFO where flushing of any kind
       will take place. The pipemod module can be pushed on either end of  the
       pipe. The only requirement is that it is pushed onto an end that previ‐
       ously did not have modules on it. That is, pipemod must	be  the	 first
       module  pushed  onto  a pipe so that it is at the mid-point of the pipe
       itself.

       The pipemod module handles only M_FLUSH messages.  All  other  messages
       are  passed  on to the next module using the putnext() utility routine.
       If an M_FLUSH message is passed to pipemod and the  FLUSHR  and	FLUSHW
       bits  are  set,	the message is not processed but is passed to the next
       module using the putnext() routine. If only the FLUSHR bit is set,  the
       FLUSHR bit is turned off and the FLUSHW bit is set. The message is then
       passed on to the next module using putnext(). Similarly, if the	FLUSHW
       bit  is	the  only  bit	set  in the M_FLUSH message, the FLUSHW bit is
       turned off and the FLUSHR bit is turned on. The message is then	passed
       to the next module on the stream.

       The  pipemod  module  can  be pushed on any stream that desires the bit
       switching. It must be pushed onto a pipe or FIFO if any form of	flush‐
       ing must take place.

SEE ALSO
       STREAMS Programming Guide

SunOS 5.11			  21 Aug 1992			   pipemod(7M)
[top]

List of man pages available for OpenIndiana

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net