comparison src/core/ngx_file.c @ 5967:863d9de1e62b

Core: supported directory skipping in ngx_walk_tree(). If pre_tree_handler() returns NGX_DECLINED, the directory is ignored.
author Roman Arutyunyan <arut@nginx.com>
date Mon, 02 Feb 2015 19:38:32 +0300
parents a9138c35120d
children 3281de8142f5
comparison
equal deleted inserted replaced
5966:bcdfc39bf44d 5967:863d9de1e62b
1045 "tree enter dir \"%s\"", file.data); 1045 "tree enter dir \"%s\"", file.data);
1046 1046
1047 ctx->access = ngx_de_access(&dir); 1047 ctx->access = ngx_de_access(&dir);
1048 ctx->mtime = ngx_de_mtime(&dir); 1048 ctx->mtime = ngx_de_mtime(&dir);
1049 1049
1050 if (ctx->pre_tree_handler(ctx, &file) == NGX_ABORT) { 1050 rc = ctx->pre_tree_handler(ctx, &file);
1051
1052 if (rc == NGX_ABORT) {
1051 goto failed; 1053 goto failed;
1054 }
1055
1056 if (rc == NGX_DECLINED) {
1057 ngx_log_debug1(NGX_LOG_DEBUG_CORE, ctx->log, 0,
1058 "tree skip dir \"%s\"", file.data);
1059 continue;
1052 } 1060 }
1053 1061
1054 if (ngx_walk_tree(ctx, &file) == NGX_ABORT) { 1062 if (ngx_walk_tree(ctx, &file) == NGX_ABORT) {
1055 goto failed; 1063 goto failed;
1056 } 1064 }