module Fifowatcher: sig
.. end
fifowatcher.ml: Routines for creating and managing fifos
type
channel_pipe =
| |
Process of Unix.file_descr |
| |
Fifo of Unix.file_descr |
| |
BrokenPipe |
A connected process, FIFO
type
signed_fd =
| |
Infd of Unix.file_descr |
| |
Outfd of Unix.file_descr |
| |
Eventfd of Unix.file_descr |
Signed file descriptors.
val fdmap : (Unix.file_descr, string * string) Hashtbl.t
XXX This will get deprecated when we switch to inotify
val pidmap : (int, signed_fd list) Hashtbl.t
Maps pids to slice connections. Needed to clean up fds when a script dies
with EPIPE
val backend_prefix : string Pervasives.ref
val open_fds : (Unix.file_descr, channel_pipe) Hashtbl.t
val receive_process_event : Globals.fname_and_fd -> Globals.fname_and_fd -> unit
Receive an event from a running script. This event must be relayed to the
slice that invoked it.
idesc
: fd/fname identifier for process
val openentry_int : string -> string -> string * string -> unit
val reopenentry_int : Unix.file_descr -> string -> string -> unit
val receive_fifo_event : Globals.fname_and_fd -> Globals.fname_and_fd -> unit
receive an event from a fifo and connect to the corresponding service, or to
create it if it doesn't exit
eventdescriptor
: Name of input pipe,in descriptor
outdescriptor
: Name of output pipe, out descriptor
val mkentry : string -> string -> 'a -> string -> Globals.result
Make a pair of fifo entries
val openentry : string -> string * string -> 'a -> unit
Open fifos for a session. Will shutdown vsys if the fifos don't exist
val sigchld_handle : 'a -> unit
val initialize : unit -> unit