+ (
+ try
+ let s = Unix.stat root_dir in
+ if (s.st_kind<>S_DIR) then
+ begin
+ Unix.unlink root_dir;
+ Unix.mkdir root_dir 0o700
+ end
+ else if (s.st_perm <> 0o700) then
+ begin
+ Unix.rmdir root_dir;
+ Unix.mkdir root_dir 0o700
+ end;
+ with Unix.Unix_error(_,_,_) ->
+ begin
+ try
+ Unix.mkdir root_dir 0o700;
+ with _ -> ();
+ end);
+ Directfifowatcher.add_dir_watch root_dir