wakeup(D3) wakeup(D3)
NAME
wakeup - 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.
DESCRIPTION
wakeup 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.
REFERENCES
sleep(D3)
Copyright 1994 Novell, Inc. Page 1
wakeup(D3) wakeup(D3)
NOTICES
Portability
All processors
Applicability
ddi: 1, 2, 3, 4, 5, 5mp, 6, 6mp
SV_SIGNAL(D3) and SV_BROADCAST(D3) replace wakeup.
Copyright 1994 Novell, Inc. Page 2