comparison src/core/ngx_file.c @ 3023:7d5501988fe3

NGX_ENOPATH
author Igor Sysoev <igor@sysoev.ru>
date Tue, 11 Aug 2009 14:25:04 +0000
parents 8fc7b94f647b
children 8101d9101ed8
comparison
equal deleted inserted replaced
3022:56407044c593 3023:7d5501988fe3
97 if (err == NGX_EEXIST) { 97 if (err == NGX_EEXIST) {
98 n = (uint32_t) ngx_next_temp_number(1); 98 n = (uint32_t) ngx_next_temp_number(1);
99 continue; 99 continue;
100 } 100 }
101 101
102 if ((path->level[0] == 0) 102 if ((path->level[0] == 0) || (err != NGX_ENOPATH)) {
103 || (err != NGX_ENOENT
104 #if (NGX_WIN32)
105 && err != NGX_ENOTDIR
106 #endif
107 ))
108 {
109 ngx_log_error(NGX_LOG_CRIT, file->log, err, 103 ngx_log_error(NGX_LOG_CRIT, file->log, err,
110 ngx_open_tempfile_n " \"%s\" failed", 104 ngx_open_tempfile_n " \"%s\" failed",
111 file->name.data); 105 file->name.data);
112 return NGX_ERROR; 106 return NGX_ERROR;
113 } 107 }
558 return NGX_OK; 552 return NGX_OK;
559 } 553 }
560 554
561 err = ngx_errno; 555 err = ngx_errno;
562 556
563 if (err 557 if (err == NGX_ENOPATH) {
564 #if (NGX_WIN32) 558
565 == ERROR_PATH_NOT_FOUND
566 #else
567 == NGX_ENOENT
568 #endif
569 )
570 {
571 if (!ext->create_path) { 559 if (!ext->create_path) {
572 goto failed; 560 goto failed;
573 } 561 }
574 562
575 err = ngx_create_full_path(to->data, ngx_dir_access(ext->path_access)); 563 err = ngx_create_full_path(to->data, ngx_dir_access(ext->path_access));