qprocsoff(D3) qprocsoff(D3)
NAME
qprocsoff - disable put and service routines
SYNOPSIS
#include <sys/stream.h>
#include <sys/ddi.h>
void qprocsoff(queue_t *rq);
Arguments
rq Pointer to a read queue.
DESCRIPTION
qprocsoff disables the put and service 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 service
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.
Return Values
None
USAGE
qprocsoff must be called by the close(D2) routine of a driver
or module before deallocating any resources on which the
driver/module's put and service 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.
Level
Base only.
Synchronization Constraints
Can sleep.
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(D3)]
when calling this function.
Copyright 1994 Novell, Inc. Page 1
qprocsoff(D3) qprocsoff(D3)
Examples
See unbufcall(D3) for an example of qprocsoff.
REFERENCES
close(D2), put(D2), srv(D2), qprocson(D3)
NOTICES
Portability
All processors
Applicability
ddi: 3, 5, 5mp, 6, 6mp, 7, 7mp
Copyright 1994 Novell, Inc. Page 2