let start_watch () =
  while (true)
  do
    let (fds,_,_) = try Unix.select !fdset [] [] (-1.) 
    with e->
      ([],[],[])
    in
      List.iter (fun elt->
                   let (func,(evd,fd_other)) = Hashtbl.find cbtable elt in
                     try (* Never fail *)
                       func evd fd_other
                     with e->
                       let wtf = Printexc.to_string e in
                         logprint "%s\n" wtf
                ) fds
  done