frysk.sys
Class Wait

java.lang.Object
  extended by frysk.sys.Wait

public final class Wait
extends Object

Wait for an event from either a process, task, or all processes and tasks.


Field Summary
private static Log fine
           
private static Log finest
           
protected static SignalSet signalSet
          Set of signals checked during poll.
 
Constructor Summary
Wait()
           
 
Method Summary
private static void drain(int pid)
           
static void drain(ProcessIdentifier pid)
          Blocking drain of all pending wait events belonging to pid.
private static void drainNoHang(int pid)
           
static void drainNoHang(ProcessIdentifier pid)
          Non-blocking drain of all pending wait events belonging to pid.
(package private) static Log logFine()
          Finds, and returns the logger, but only when logging is enabled..
(package private) static Log logFinest()
          Finds, and returns the logger, but only when logging is enabled..
static void signalAdd(Signal sig)
          Add Sig to the set of signals checked during poll.
static void signalEmpty()
          Empty the set of signals, and file descriptors, checked during poll.
private static boolean wait(int pid, WaitBuilder waitBuilder, SignalBuilder signalBuilder, long millisecondTimeout, boolean ignoreECHILD)
           
static boolean wait(ProcessIdentifier pid, WaitBuilder waitBuilder, SignalBuilder signalBuilder, long millisecondTimeout)
           
static boolean wait(WaitBuilder waitBuilder, SignalBuilder signalBuilder, long millisecondTimeout)
           
static void waitAllNoHang(WaitBuilder builder)
          Read in all the pending wait events, and then pass them to the observer.
static boolean waitChild(WaitBuilder waitBuilder, SignalBuilder signalBuilder, long millisecondTimeout)
          Wait for a waitpid or signal event.
private static void waitOnce(int pid, WaitBuilder builder)
           
static void waitOnce(ProcessIdentifier pid, WaitBuilder builder)
          Wait for a single process or task event.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fine

private static Log fine

finest

private static Log finest

signalSet

protected static SignalSet signalSet
Set of signals checked during poll.

Constructor Detail

Wait

public Wait()
Method Detail

logFine

static Log logFine()
Finds, and returns the logger, but only when logging is enabled..


logFinest

static Log logFinest()
Finds, and returns the logger, but only when logging is enabled..


signalAdd

public static void signalAdd(Signal sig)
Add Sig to the set of signals checked during poll.


signalEmpty

public static void signalEmpty()
Empty the set of signals, and file descriptors, checked during poll.


waitAllNoHang

public static void waitAllNoHang(WaitBuilder builder)
Read in all the pending wait events, and then pass them to the observer. If there is no outstanding event return immediatly.


waitChild

public static boolean waitChild(WaitBuilder waitBuilder,
                                SignalBuilder signalBuilder,
                                long millisecondTimeout)
Wait for a waitpid or signal event. Returns when at least one event has been received, or the specified timeout has expired. Specify a -ve timeout to block until any event; a zero timeout to not block. Specify ignoreECHILD to block even when there are no children; if you're implementing an event-loop, this is what you want. Note that this implements the timeout using ITIMER_REAL and SIGALRM. Return true if the timeout expired; note that waitpid events may have also been processed.


wait

public static boolean wait(ProcessIdentifier pid,
                           WaitBuilder waitBuilder,
                           SignalBuilder signalBuilder,
                           long millisecondTimeout)

wait

public static boolean wait(WaitBuilder waitBuilder,
                           SignalBuilder signalBuilder,
                           long millisecondTimeout)

wait

private static boolean wait(int pid,
                            WaitBuilder waitBuilder,
                            SignalBuilder signalBuilder,
                            long millisecondTimeout,
                            boolean ignoreECHILD)

waitOnce

public static void waitOnce(ProcessIdentifier pid,
                            WaitBuilder builder)
Wait for a single process or task event. Block if no event is pending (provided that there are still potential events).


waitOnce

private static void waitOnce(int pid,
                             WaitBuilder builder)

drainNoHang

public static void drainNoHang(ProcessIdentifier pid)
Non-blocking drain of all pending wait events belonging to pid.


drainNoHang

private static void drainNoHang(int pid)

drain

public static void drain(ProcessIdentifier pid)
Blocking drain of all pending wait events belonging to pid.


drain

private static void drain(int pid)