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

qprocsoff(D3str)


qprocsoff -- disable put and service routines

Synopsis (Not in ODDI)

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

void qprocsoff(queue_t *rq);

Description

qprocsoff disables the put(D2str) and srv(D2str) routines of the driver or module whose read queue is pointed to by rq. It removes the queue's service routines from the list of service routines to be run and waits until any concurrent put or srv routines are finished. 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

qprocsoff must be called by the close(D2str) routine of a driver or module before deallocating any resources on which the driver/module's put( ) and srv( ) routines depend. Drivers or modules should call qprocsoff exactly once to disable put and service procedures. One additional effect of calling qprocsoff is that both the read and write queues are flushed.

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

close(D2), put(D2str), srv(D2str), qprocson(D3str)

Examples

See unbufcall(D3str) for an example of qprocsoff.
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005