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