Event channels handlers.
val program_start : event
represents an event which 'fired' when the program started
next channel event blocks until the system receives an event newer than
event on channel
channel. If an event is received while we aren't looking then this will be remembered and the next call to
after will immediately unblock. If the system is suspended and then resumed, all event channel bindings are invalidated and this function will fail with Generation.Invalid
wait evtchn is a cancellable thread that will wake up when
evtchn is notified. Cancel it if you are no longer interested in waiting on
evtchn. Note that if the notification is sent before
wait is called then the notification is lost.
val run : Eventchn.handle -> unit
run () goes through the event mask and activate any events, potentially spawning new threads. This function is called by
Main.run. Do not call it unless you know what you are doing.
resume needs to be called after the unikernel is resumed. However, this function is automatically called by
Sched.suspend. Do NOT use it unless you know what you are doing.