aboutsummaryrefslogtreecommitdiff
path: root/src/core/ngx_file.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2003-10-27 08:53:49 +0000
committerIgor Sysoev <igor@sysoev.ru>2003-10-27 08:53:49 +0000
commit10fc9ef77503ec4db5f5006557aeffc1939043ca (patch)
tree48dd22fcf5c6defd2960156f24a8b07757a7c6da /src/core/ngx_file.c
parent6414b96ebc50f42bf878aa84839921ab0aa9f4df (diff)
downloadnginx-10fc9ef77503ec4db5f5006557aeffc1939043ca.tar.gz
nginx-10fc9ef77503ec4db5f5006557aeffc1939043ca.zip
nginx-0.0.1-2003-10-27-11:53:49 import
Diffstat (limited to 'src/core/ngx_file.c')
-rw-r--r--src/core/ngx_file.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/core/ngx_file.c b/src/core/ngx_file.c
index 2383e5c52..84e86fffc 100644
--- a/src/core/ngx_file.c
+++ b/src/core/ngx_file.c
@@ -7,6 +7,27 @@ static int ngx_temp_number;
static int ngx_random;
+int ngx_write_chain_to_temp_file(ngx_temp_file_t *tf, ngx_chain_t *chain)
+{
+ int rc;
+
+ if (tf->file.fd == NGX_INVALID_FILE) {
+ rc = ngx_create_temp_file(&tf->file, &tf->path, tf->pool,
+ tf->persistent);
+
+ if (rc == NGX_ERROR || rc == NGX_AGAIN) {
+ return rc;
+ }
+
+ if (!tf->persistent && tf->warn) {
+ ngx_log_error(NGX_LOG_WARN, tf->file.log, 0, tf->warn);
+ }
+ }
+
+ return ngx_write_chain_to_file(&tf->file, chain, tf->file.offset, tf->pool);
+}
+
+
int ngx_create_temp_file(ngx_file_t *file, ngx_path_t *path,
ngx_pool_t *pool, int persistent)
{