- let curfile = readdir dir_handle in
- let fqp = String.concat "/" [dir;curfile] in
- let acl_fqp = String.concat "." [fqp;"acl"] in
- let acl_filter = this#make_filter acl_fqp in
- let slice_list =
- match acl_filter with
- | None -> frontend_lst
- | Some(filter) -> List.filter (fun fe->Hashtbl.mem filter (fe#get_slice_name ())) frontend_lst
- in
- if (Str.string_match file_regexp curfile 0 && not (Str.string_match acl_file_regexp curfile 0)) then
- let s = Unix.stat fqp in
- begin
- match s.st_kind with
- | S_DIR ->
- this#new_dir slice_list fqp this#handle_dir_event;
- build_initial_tree fqp;
- | S_REG ->
- this#new_script slice_list fqp
- | _ ->
- fprintf logfd "Don't know what to do with %s\n" curfile;flush logfd
- end
- with
- _->cont:=false;()
+ let curfile = readdir dir_handle in
+ if (not (this#is_acl curfile)) then
+ begin
+ let fqp = String.concat "/" [dir;curfile] in
+ let acl_fqp = String.concat "." [fqp;"acl"] in
+ let acl_filter = this#make_filter acl_fqp in
+ let slice_list =
+ match acl_filter with
+ | None -> [] (*frontend_lst -> No ACL => No Show *)
+ | Some(filter) -> List.filter
+ (fun fe->Hashtbl.mem filter (fe#get_slice_name ()))
+ frontend_lst
+ in
+ if (Str.string_match file_regexp curfile 0) then
+ let s = Unix.stat fqp in
+ begin
+ match s.st_kind with
+ | S_DIR ->
+ this#new_dir slice_list fqp this#handle_dir_event;
+ build_initial_tree fqp;
+ | S_REG ->
+ this#new_script slice_list fqp
+ | _ ->
+ logprint "Don't know what to do with %s\n" curfile
+ end
+ end
+ with _
+ ->cont:=false;()