frysk.sys
Interface WaitBuilder

All Known Implementing Classes:
LinuxWaitBuilder, TestWait.WaitOnChild, UnhandledWaitBuilder, WaitObserver

public interface WaitBuilder

Let the Wait client build each wait-pid event.


Method Summary
 void cloneEvent(ProcessIdentifier pid, ProcessIdentifier clone)
          The task PID got a clone event; CLONE is the new task's ID.
 void disappeared(ProcessIdentifier pid, Throwable w)
          The task PID disappeared.
 void execEvent(ProcessIdentifier pid)
          The task PID got an exec event; the process has already been overlayed.
 void exitEvent(ProcessIdentifier pid, Signal signal, int value, boolean coreDumped)
          The task PID got an exit event; if SIGNAL is non-NULL it contains the terminating signal and STATUS is the negated signal value, else STATUS contains the cardinal exit status.
 void forkEvent(ProcessIdentifier pid, ProcessIdentifier child)
          The task PID got a fork event; CHILD is the new process ID.
 void stopped(ProcessIdentifier pid, Signal signal)
          The task PID stopped with SIGNAL pending (could be SIGNONE).
 void syscallEvent(ProcessIdentifier pid)
          XXX: It isn't currently possible to determine from the syscall event whether it is entry or exit.
 void terminated(ProcessIdentifier pid, Signal signal, int value, boolean coreDumped)
          The task PID terminated (either WIFEXITED or WIFSIGNALED); if SIGNAL is non-NULL then the termination is the specified signal and STATUS is the negated signal value; else STATUS is the cardinal exit status.
 

Method Detail

cloneEvent

void cloneEvent(ProcessIdentifier pid,
                ProcessIdentifier clone)
The task PID got a clone event; CLONE is the new task's ID.


forkEvent

void forkEvent(ProcessIdentifier pid,
               ProcessIdentifier child)
The task PID got a fork event; CHILD is the new process ID.


exitEvent

void exitEvent(ProcessIdentifier pid,
               Signal signal,
               int value,
               boolean coreDumped)
The task PID got an exit event; if SIGNAL is non-NULL it contains the terminating signal and STATUS is the negated signal value, else STATUS contains the cardinal exit status.


execEvent

void execEvent(ProcessIdentifier pid)
The task PID got an exec event; the process has already been overlayed.


syscallEvent

void syscallEvent(ProcessIdentifier pid)
XXX: It isn't currently possible to determine from the syscall event whether it is entry or exit. We must do state transitioning in the upper-level and figure it out.


stopped

void stopped(ProcessIdentifier pid,
             Signal signal)
The task PID stopped with SIGNAL pending (could be SIGNONE).


terminated

void terminated(ProcessIdentifier pid,
                Signal signal,
                int value,
                boolean coreDumped)
The task PID terminated (either WIFEXITED or WIFSIGNALED); if SIGNAL is non-NULL then the termination is the specified signal and STATUS is the negated signal value; else STATUS is the cardinal exit status.


disappeared

void disappeared(ProcessIdentifier pid,
                 Throwable w)
The task PID disappeared. Received an event for PID but then that, by the time its status was checked, the process had vanished.