pipemod man page on SmartOS

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

PIPEMOD(7M)							   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  han‐
       dled 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

				 Aug 21, 1992			   PIPEMOD(7M)
[top]

List of man pages available for SmartOS

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