Tagging module vsys - vsys-0.7-15
[vsys.git] / main.ml
diff --git a/main.ml b/main.ml
index 5ec2952..ac7a8ce 100644 (file)
--- a/main.ml
+++ b/main.ml
@@ -4,7 +4,6 @@ open Printf
 open Inotify
 open Backend
 open Frontend
-open Fifowatcher
 open Conffile
 
 let input_file_list = ref []
@@ -18,13 +17,15 @@ let cmdspeclist =
     ("-conffile",Arg.Set_string(Globals.conffile), "Config file");
     ("-backend",Arg.Set_string(Globals.backend), "Backend directory");
     ("-frontend",Arg.Tuple[Arg.String(fun s->cur_dir:=s);Arg.String(fun s->cur_slice:=s;input_file_list:=(!cur_dir,!cur_slice)::!input_file_list)], "frontendN,slicenameN");
-    ("-nochroot",Arg.Set(Globals.nochroot), "Run in non-chroot environment")
+    ("-nochroot",Arg.Set(Globals.nochroot), "Run in non-chroot environment");
+    ("-failsafe",Arg.Set(Globals.failsafe), "Never crash. Be stupid, but never crash. Use at your own risk.");
   ]
 
 let cont = ref true
 
 let _ =
   printf "Vsys v%s\n" Globals.vsys_version;flush stdout;
+  fprintf logfd "Starting Vsys v%s\n" Globals.vsys_version;flush logfd;
   Arg.parse cmdspeclist (fun x->()) "Usage: vsys <list of mount points>";  
   if (!Globals.backend == "") then
       printf "Try vsys --help\n"
@@ -44,14 +45,15 @@ let _ =
           end;
 
             Dirwatcher.initialize ();
-            Fifowatcher.initialize ();
+            Directfifowatcher.initialize ();
+
             if (!Globals.conffile <> "") then
               begin
               let frontends = Conffile.read_frontends !Globals.conffile in
                 input_file_list:=List.concat [!input_file_list;frontends]
               end;
 
-            let felst = List.map (fun lst->let (x,y)=lst in printf "Slice %s (%s)\n" x y;flush logfd;new frontendHandler lst) !input_file_list in
+            let felst = List.map (fun lst->let (x,y)=lst in fprintf logfd "Slice %s (%s)\n" x y;flush logfd;new frontendHandler lst) !input_file_list in
                 let _ = new backendHandler !Globals.backend felst in
                  Fdwatcher.start_watch ()
     end