wakeup(D3)wakeup(D3)NAMEwakeup - resume suspended process execution
SYNOPSIS
#include <sys/types.h>
#include <sys/ddi.h>
void wakeup(caddr_t event);
Arguments
event Address that was passed to the corresponding call to sleep(D3)
which caused the process to be suspended.
DESCRIPTIONwakeup awakens all processes sleeping on the address specified by event
and makes them eligible for scheduling.
Return Values
None
USAGE
The same event argument must be used for corresponding calls to sleep and
wakeup. It is recommended for code readability and for efficiency to
have a one-to-one correspondence between events and sleep addresses.
Whenever a driver returns from a call to sleep, it should test to ensure
that the event for which the driver slept actually occurred. There is an
interval between the time the process that called sleep is awakened and
the time it resumes execution where the state forcing the sleep may have
been reentered. This can occur because all processes waiting for an
event are awakened at the same time. The first process selected for
execution by the scheduler usually gains control of the event. All other
processes awakened should recognize that they cannot continue and should
reissue the sleep call.
Level
Base or Interrupt.
Synchronization Constraints
Does not sleep.
REFERENCESsleep(D3)
Page 1