Interface TaskObserver.Signaled

All Superinterfaces:
Observer, TaskObserver
All Known Implementing Classes:
Enclosing interface:

public static interface TaskObserver.Signaled
extends TaskObserver

Interface used to notify that a Task has a pending signal.

Nested Class Summary
Nested classes/interfaces inherited from interface frysk.proc.TaskObserver
TaskObserver.Cloned, TaskObserver.Code, TaskObserver.Execed, TaskObserver.Forked, TaskObserver.Instruction, TaskObserver.Signaled, TaskObserver.Syscalls, TaskObserver.Terminated, TaskObserver.Terminating, TaskObserver.Watch
Method Summary
 Action updateSignaled(Task task, Signal signal)
          The SIGNAL is pending delivery to the task.
Methods inherited from interface frysk.proc.Observer
addedTo, addFailed, deletedFrom

Method Detail


Action updateSignaled(Task task,
                      Signal signal)
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.