initial commit.
[vsys.git] / fdwatcher.ml
index 3e31427..3453d54 100644 (file)
@@ -1,3 +1,6 @@
+(** Fdwatcher - The main event loop. Agnostic to the type of file descriptors
+ involved.*)
+
 open Printf
 open Globals
 
@@ -8,15 +11,14 @@ let cbtable = Hashtbl.create 1024
  * fifo outputs, the out descriptor must be opened a nouveau whenever we
  * want to send out data, and so we keep the associated filename as well.
  * Same with input fifos. Yipee.*)
-
-let add_fd (evpair:fd_and_fname) (fd_other:fd_and_fname) (callback:fd_and_fname->fd_and_fname->unit) = 
+let add_fd (evpair:fname_and_fd) (fd_other:fname_and_fd) (callback:fname_and_fd->fname_and_fd->unit) = 
   let (fname,fd) = evpair in
   fdset := (fd::!fdset);
   Hashtbl.replace cbtable fd (callback,(evpair,fd_other))
 
 let del_fd fd =
   fdset:=List.filter (fun l->l<>fd) !fdset;
-  flush Pervasives.stdout
+  flush logfd
 
 let start_watch () =
     while (true)
@@ -29,4 +31,3 @@ let start_watch () =
                              let (func,(evd,fd_other)) = Hashtbl.find cbtable elt in
                                func evd fd_other) fds
     done
-