DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
SVR5

qprocson(D3str)


qprocson -- enable put and service routines

Synopsis (Not in ODDI)

   #include <sys/stream.h>
   #include <sys/ddi.h>
   

void qprocson(queue_t *rq);

Description

qprocson enables the put and service routines of the driver or module whose read queue is pointed to by rq. Prior to the call to qprocson, the put and service routines of a newly pushed module or newly opened driver are disabled. When the routines are disabled in a module, messages flow around the module as if it were not present in the stream.

Arguments


rq
Pointer to a read queue.

Return values

None

Usage

qprocson must be called by the first open of a module or driver after allocation and initialization of any resources on which the put and service routines depend. Modules or drivers should call qprocson exactly once to enable put and service procedures. qprocsoff is called (also exactly once) to disable these put and service procedures.

The STREAMS subsystem assumes that modules and drivers that do not set D_MP (see devflag(D1)) do not know about qprocson and will do the qprocson on behalf of the module or driver.

Context

Base only.

Synchronization constraints

Can block.

Driver-defined basic locks and read/write locks may not be held across calls to this function.

Driver-defined sleep locks may be held across calls to this function.

The caller cannot have the stream frozen [see freezestr(D3str)] when calling this function.

Hardware applicability

All

Version applicability

ddi: 3, 5, 5mp, 6, 6mp, 7, 7mp, 7.1, 7.1mp, 8, 8mp

References

open(D2), put(D2str), srv(D2str), qprocsoff(D3str)
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005