frysk.proc.live
Class LinuxPtraceTaskState.Attached

java.lang.Object
  extended by frysk.proc.live.State
      extended by frysk.proc.live.LinuxPtraceTaskState
          extended by frysk.proc.live.LinuxPtraceTaskState.Attached
Direct Known Subclasses:
LinuxPtraceTaskState.Attached.WaitForContinueOrUnblock, LinuxPtraceTaskState.Attached.WaitForUnblock
Enclosing class:
LinuxPtraceTaskState

private static class LinuxPtraceTaskState.Attached
extends LinuxPtraceTaskState

The task is attached, and waiting to be either continued, or unblocked. This first continue is special, it is also the moment that any observers get notified that the task has transitioned into the attached state.


Nested Class Summary
private static class LinuxPtraceTaskState.Attached.WaitForContinueOrUnblock
          The blocked task has stopped, possibly with a pending signal, waiting on either a continue or an unblock.
private static class LinuxPtraceTaskState.Attached.WaitForUnblock
          Got continue, just need to clear the blocks.
 
Nested classes/interfaces inherited from class frysk.proc.live.LinuxPtraceTaskState
LinuxPtraceTaskState.StartClonedTask
 
Field Summary
private static LinuxPtraceTaskState waitForContinueOrUnblock
           
 
Fields inherited from class frysk.proc.live.LinuxPtraceTaskState
detaching, inSyscallRunning, running, stepping
 
Constructor Summary
private LinuxPtraceTaskState.Attached(String name)
           
 
Method Summary
(package private)  LinuxPtraceTaskState handleAddObservation(LinuxPtraceTask task, TaskObservation observation)
          In all Attached states, addObservation is allowed.
(package private)  LinuxPtraceTaskState handleDeleteObservation(LinuxPtraceTask task, TaskObservation observation)
          In all Attached states, deleteObservation is allowed.
(package private)  LinuxPtraceTaskState handleTerminatedEvent(LinuxPtraceTask task, Signal signal, int status)
          While attaching the LinuxPtraceTask disappeared, go to destroyed.
(package private) static LinuxPtraceTaskState transitionToRunningState(LinuxPtraceTask task, Signal signal)
          Once the task is both unblocked and continued, should transition to the running state.
 
Methods inherited from class frysk.proc.live.LinuxPtraceTaskState
clonedState, detachedState, handleAttach, handleClonedEvent, handleContinue, handleDetach, handleExecedEvent, handleForkedEvent, handleRemoval, handleStoppedEvent, handleSyscalledEvent, handleTerminatingEvent, handleUnblock, mainState
 
Methods inherited from class frysk.proc.live.State
toString, unhandled, unhandled
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

waitForContinueOrUnblock

private static final LinuxPtraceTaskState waitForContinueOrUnblock
Constructor Detail

LinuxPtraceTaskState.Attached

private LinuxPtraceTaskState.Attached(String name)
Method Detail

handleAddObservation

LinuxPtraceTaskState handleAddObservation(LinuxPtraceTask task,
                                          TaskObservation observation)
In all Attached states, addObservation is allowed.

Overrides:
handleAddObservation in class LinuxPtraceTaskState

handleDeleteObservation

LinuxPtraceTaskState handleDeleteObservation(LinuxPtraceTask task,
                                             TaskObservation observation)
In all Attached states, deleteObservation is allowed.

Overrides:
handleDeleteObservation in class LinuxPtraceTaskState

handleTerminatedEvent

LinuxPtraceTaskState handleTerminatedEvent(LinuxPtraceTask task,
                                           Signal signal,
                                           int status)
While attaching the LinuxPtraceTask disappeared, go to destroyed.

Specified by:
handleTerminatedEvent in class LinuxPtraceTaskState

transitionToRunningState

static LinuxPtraceTaskState transitionToRunningState(LinuxPtraceTask task,
                                                     Signal signal)
Once the task is both unblocked and continued, should transition to the running state.