This set of routines allows a driver to send a signal to a process. The routine proc_ref() is used to retrieve an unambiguous reference to the process for signalling purposes.
The return value can be used as a unique handle on the process, even if the process dies. Because system resources are committed to a process reference, proc_unref() should be used to
remove it as soon as it is no longer needed.proc_signal() is used to send signal sig to the referenced process. The following set of signals may be sent to a process
from a driver:
-
SIGHUP
- The device has been disconnected.
-
SIGINT
- The interrupt character has been received.
-
SIGQUIT
- The quit character has been received.
-
SIGPOLL
- A pollable event has occurred.
-
SIGKILL
- Kill the process (cannot be caught or ignored).
-
SIGWINCH
- Window size change.
-
SIGURG
- Urgent data are available.
See
signal(3HEAD)
for more details on the meaning of these signals.
If the process has exited at the time the signal was sent, proc_signal() returns an error code; the caller should remove the reference on the process by calling proc_unref().
The driver writer must ensure that for each call made to proc_ref(), there is exactly one corresponding call to proc_unref().
|