X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=backend.ml;h=d85ee7d54329a6049a800dcf1fd65118b3ea4975;hb=16c8bb31dd971b7fab00dbb17a75bb08cee463c6;hp=7d00cfd6428d1b372a37dcd02dce5e2cde9f70ed;hpb=a9f606051125de2acc9140074f91054755fa67b4;p=vsys.git diff --git a/backend.ml b/backend.ml index 7d00cfd..d85ee7d 100644 --- a/backend.ml +++ b/backend.ml @@ -58,8 +58,13 @@ class backendHandler dir_root (frontend_lst: frontendHandler list) = let s = Unix.stat fqp in List.iter (fun frontend-> - frontend#mkdir (mk_rel_path fqp) (s.st_perm); - Dirwatcher.add_watch fqp [S_Create;S_Delete] (Some(func))) + try begin + frontend#mkdir (mk_rel_path fqp) (s.st_perm); + Dirwatcher.add_watch fqp [S_Create;S_Delete] func + end + with _ -> + fprintf logfd "Could not create %s. Looks like a slice shot itself in the foot\n" fqp;flush logfd; + ) slice_list (** Somebody copied in a new script *) @@ -93,7 +98,7 @@ class backendHandler dir_root (frontend_lst: frontendHandler list) = @param evlist Description of what happened @param fname Name of the file that the event applies to *) - method handle_dir_event dirname evlist fname = + method handle_dir_event _ dirname evlist fname = let fqp = String.concat "/" [dirname;fname] in if ((Str.string_match file_regexp fname 0) && not (Str.string_match acl_file_regexp fname 0)) then begin @@ -166,7 +171,7 @@ class backendHandler dir_root (frontend_lst: frontendHandler list) = | S_REG -> this#new_script slice_list fqp | _ -> - printf "Don't know what to do with %s\n" curfile;flush Pervasives.stdout + fprintf logfd "Don't know what to do with %s\n" curfile;flush logfd end with _->cont:=false;() @@ -174,6 +179,6 @@ class backendHandler dir_root (frontend_lst: frontendHandler list) = in begin build_initial_tree dir_root; - Dirwatcher.add_watch dir_root [S_Create;S_Delete] (Some(this#handle_dir_event)); + Dirwatcher.add_watch dir_root [S_Create;S_Delete] (this#handle_dir_event); end end