aboutsummaryrefslogtreecommitdiff
path: root/src/os
diff options
context:
space:
mode:
Diffstat (limited to 'src/os')
-rw-r--r--src/os/unix/ngx_errno.h1
-rw-r--r--src/os/unix/ngx_files.c4
-rw-r--r--src/os/unix/ngx_files.h5
-rw-r--r--src/os/win32/ngx_errno.h1
-rw-r--r--src/os/win32/ngx_files.h4
5 files changed, 9 insertions, 6 deletions
diff --git a/src/os/unix/ngx_errno.h b/src/os/unix/ngx_errno.h
index e55078810..dae9571e2 100644
--- a/src/os/unix/ngx_errno.h
+++ b/src/os/unix/ngx_errno.h
@@ -24,6 +24,7 @@ typedef int ngx_err_t;
#define NGX_EEXIST EEXIST
#define NGX_ENOTDIR ENOTDIR
#define NGX_EINVAL EINVAL
+#define NGX_ENOSPC ENOSPC
#define NGX_EPIPE EPIPE
#define NGX_EAGAIN EAGAIN
#define NGX_EINPROGRESS EINPROGRESS
diff --git a/src/os/unix/ngx_files.c b/src/os/unix/ngx_files.c
index f89147df1..575831390 100644
--- a/src/os/unix/ngx_files.c
+++ b/src/os/unix/ngx_files.c
@@ -112,11 +112,11 @@ ngx_write_file(ngx_file_t *file, u_char *buf, size_t size, off_t offset)
ngx_fd_t
-ngx_open_tempfile(u_char *name, ngx_uint_t persistent)
+ngx_open_tempfile(u_char *name, ngx_uint_t persistent, ngx_uint_t mode)
{
ngx_fd_t fd;
- fd = open((const char *) name, O_CREAT|O_EXCL|O_RDWR, 0600);
+ fd = open((const char *) name, O_CREAT|O_EXCL|O_RDWR, mode ? mode : 0600);
if (fd != -1 && !persistent) {
unlink((const char *) name);
diff --git a/src/os/unix/ngx_files.h b/src/os/unix/ngx_files.h
index fcf5da4ad..29b649583 100644
--- a/src/os/unix/ngx_files.h
+++ b/src/os/unix/ngx_files.h
@@ -37,7 +37,8 @@
#define ngx_delete_file_n "unlink()"
-ngx_fd_t ngx_open_tempfile(u_char *name, ngx_uint_t persistent);
+ngx_fd_t ngx_open_tempfile(u_char *name, ngx_uint_t persistent,
+ ngx_uint_t mode);
#define ngx_open_tempfile_n "open()"
@@ -56,7 +57,7 @@ ssize_t ngx_write_chain_to_file(ngx_file_t *file, ngx_chain_t *ce,
#define NGX_LINEFEED_SIZE 1
-#define ngx_rename_file rename
+#define ngx_rename_file(o, n) rename((const char *) o, (const char *) n)
#define ngx_rename_file_n "rename"
diff --git a/src/os/win32/ngx_errno.h b/src/os/win32/ngx_errno.h
index 46f4382c4..97565760b 100644
--- a/src/os/win32/ngx_errno.h
+++ b/src/os/win32/ngx_errno.h
@@ -26,6 +26,7 @@ typedef DWORD ngx_err_t;
#endif
#define NGX_EEXIST ERROR_ALREADY_EXISTS
#define NGX_ENOTDIR ERROR_PATH_NOT_FOUND
+#define NGX_ENOSPC ERROR_DISK_FULL
#define NGX_EPIPE EPIPE
#define NGX_EAGAIN WSAEWOULDBLOCK
#define NGX_EINPROGRESS WSAEINPROGRESS
diff --git a/src/os/win32/ngx_files.h b/src/os/win32/ngx_files.h
index 098a90588..beba0a83a 100644
--- a/src/os/win32/ngx_files.h
+++ b/src/os/win32/ngx_files.h
@@ -48,7 +48,7 @@ ngx_int_t ngx_file_append_mode(ngx_fd_t fd);
#define ngx_file_append_mode_n "SetFilePointer()"
-#define ngx_open_tempfile(name, persistent) \
+#define ngx_open_tempfile(name, persistent, mode) \
CreateFile((const char *) name, \
GENERIC_READ|GENERIC_WRITE, \
FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, \
@@ -74,7 +74,7 @@ ngx_int_t ngx_file_append_mode(ngx_fd_t fd);
#define ngx_delete_file_n "DeleteFile()"
-#define ngx_rename_file MoveFile
+#define ngx_rename_file(o, n) MoveFile((const char *) o, (const char *) n)
#define ngx_rename_file_n "MoveFile()"
ngx_int_t ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to,
ngx_pool_t *pool);