enableok(D3DK) —
.IX \f4enableok\fP(D3DK)
.IX STREAMS message queues
NAME
enableok − allow a queue to be serviced
SYNOPSIS
#include <sys/stream.h>
#include <sys/ddi.h>
void enableok(queue_t ∗q);
ARGUMENTS
qPointer to the queue.
DESCRIPTION
The enableok function allows the service routine of the queue pointed to by q to be rescheduled for service. It cancels the effect of a previous use of the noenable(D3DK) function on q.
RETURN VALUE
None.
LEVEL
Base or Interrupt.
NOTES
Does not sleep.
Driver-defined basic locks, read/write locks, and sleep locks may be held across calls to this function.
SEE ALSO
srv(D2DK), noenable(D3DK), qenable(D3DK), queue(D4DK)
EXAMPLE
The qrestart routine uses two STREAMS functions to re-enable a queue that has been disabled. The enableok function removes the restriction that prevented the queue from being scheduled when a message was enqueued. Then, if there are messages on the queue, it is scheduled by calling qenable(D3DK).
1 void
2 qrestart(q)
3register queue_t ∗q;
4 {
5enableok(q);
6if (q->q_first)
7qenable(q);
8 }
.IX \f4enableok\fP(D3DK), example
.IX \f4qenable\fP(D3DK), example
DDI/DKI — STREAMS