diff options
| author | Maxim Dounin <mdounin@mdounin.ru> | 2016-03-29 09:51:46 +0300 |
|---|---|---|
| committer | Maxim Dounin <mdounin@mdounin.ru> | 2016-03-29 09:51:46 +0300 |
| commit | 6871615528044ff3dce2bf2abdf862d1178a2c9e (patch) | |
| tree | ddc22c3ff087e2ad0b717c16575c243abd609397 /src/os | |
| parent | 4618c03f4c130d30128a1cea135e2c9e636a13ba (diff) | |
| download | nginx-6871615528044ff3dce2bf2abdf862d1178a2c9e.tar.gz nginx-6871615528044ff3dce2bf2abdf862d1178a2c9e.tar.bz2 | |
Win32: additional error code NGX_EEXIST_FILE (ticket #910).
On Windows there are two possible error codes which correspond to
the EEXIST error code: ERROR_FILE_EXISTS used by CreateFile(CREATE_NEW),
and ERROR_ALREADY_EXISTS used by CreateDirectory().
MoveFile() seems to use both: ERROR_ALREADY_EXISTS when moving within
one filesystem, and ERROR_FILE_EXISTS when copying a file to a different
drive.
Diffstat (limited to 'src/os')
| -rw-r--r-- | src/os/unix/ngx_errno.h | 1 | ||||
| -rw-r--r-- | src/os/win32/ngx_errno.h | 8 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/os/unix/ngx_errno.h b/src/os/unix/ngx_errno.h index 16cafda31..7d6ca764d 100644 --- a/src/os/unix/ngx_errno.h +++ b/src/os/unix/ngx_errno.h @@ -25,6 +25,7 @@ typedef int ngx_err_t; #define NGX_EACCES EACCES #define NGX_EBUSY EBUSY #define NGX_EEXIST EEXIST +#define NGX_EEXIST_FILE EEXIST #define NGX_EXDEV EXDEV #define NGX_ENOTDIR ENOTDIR #define NGX_EISDIR EISDIR diff --git a/src/os/win32/ngx_errno.h b/src/os/win32/ngx_errno.h index fd3214563..02245e440 100644 --- a/src/os/win32/ngx_errno.h +++ b/src/os/win32/ngx_errno.h @@ -25,8 +25,14 @@ typedef DWORD ngx_err_t; #define NGX_ENOPATH ERROR_PATH_NOT_FOUND #define NGX_ENOMEM ERROR_NOT_ENOUGH_MEMORY #define NGX_EACCES ERROR_ACCESS_DENIED -/* it's seems that ERROR_FILE_EXISTS is not appropriate error code */ +/* + * there are two EEXIST error codes: + * ERROR_FILE_EXISTS used by CreateFile(CREATE_NEW), + * and ERROR_ALREADY_EXISTS used by CreateDirectory(); + * MoveFile() uses both + */ #define NGX_EEXIST ERROR_ALREADY_EXISTS +#define NGX_EEXIST_FILE ERROR_FILE_EXISTS /* * could not found cross volume directory move error code, * so use ERROR_WRONG_DISK as stub one |
