frysk.testbed
Class DaemonBlockedAtSignal.RunToSignal
java.lang.Object
frysk.testbed.TaskObserverBase
frysk.testbed.DaemonBlockedAtSignal.RunToSignal
- All Implemented Interfaces:
- Observer, TaskObserver, TaskObserver.Signaled, TaskObserver.Terminated
- Enclosing class:
- DaemonBlockedAtSignal
private class DaemonBlockedAtSignal.RunToSignal
- extends TaskObserverBase
- implements TaskObserver.Signaled, TaskObserver.Terminated
DaemonBlockedAtSignal.RunToSignal
private DaemonBlockedAtSignal.RunToSignal()
updateSignaled
public Action updateSignaled(Task task,
Signal value)
- Description copied from interface:
TaskObserver.Signaled
- The SIGNAL is pending delivery to the task. Return
Action.BLOCK to block the task's further execution.
XXX: This gets weird. At present and in theory, a client
wanting to discard a signal would need to sequence the
following: tell the task to scrub discard the signal; tell
the task to remove this observer from the set of blockers;
return Action.BLOCK so that this task is added to the set
of blockers. Perhaps it would be better to always add an
observer to the blocker pool and then require explict
removal.
- Specified by:
updateSignaled
in interface TaskObserver.Signaled
updateTerminated
public Action updateTerminated(Task task,
Signal sig,
int value)
- Description copied from interface:
TaskObserver.Terminated
- Called once the Task has terminated; the process no longer
exists. If SIGNAL is non-NULL it is the signal causing the
termination, else STATUS is the exit value passed to
_exit(2).
- Specified by:
updateTerminated
in interface TaskObserver.Terminated