diff options
author | Maxim Dounin <mdounin@mdounin.ru> | 2016-03-18 06:44:03 +0300 |
---|---|---|
committer | Maxim Dounin <mdounin@mdounin.ru> | 2016-03-18 06:44:03 +0300 |
commit | 10c8c8d6a47db5e84825479438ce5848b2d1dda4 (patch) | |
tree | 138823fa36c8dd88561aa8da309fa062ec597eba /src/core/ngx_file.h | |
parent | ac78b26324a348ebdd108de0c022729b671549fb (diff) | |
download | nginx-10c8c8d6a47db5e84825479438ce5848b2d1dda4.tar.gz nginx-10c8c8d6a47db5e84825479438ce5848b2d1dda4.zip |
Threads: offloading of temp files writing to thread pools.
The ngx_thread_write_chain_to_file() function introduced, which
uses ngx_file_t thread_handler, thread_ctx and thread_task fields.
The task context structure (ngx_thread_file_ctx_t) is the same for
both reading and writing, and can be safely shared as long as
operations are serialized.
The task->handler field is now always set (and not only when task is
allocated), as the same task can be used with different handlers.
The thread_write flag is introduced in the ngx_temp_file_t structure
to explicitly enable use of ngx_thread_write_chain_to_file() in
ngx_write_chain_to_temp_file() when supported by caller.
In collaboration with Valentin Bartenev.
Diffstat (limited to 'src/core/ngx_file.h')
-rw-r--r-- | src/core/ngx_file.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/core/ngx_file.h b/src/core/ngx_file.h index aeb6c0cb2..5f8228b7b 100644 --- a/src/core/ngx_file.h +++ b/src/core/ngx_file.h @@ -78,6 +78,7 @@ typedef struct { unsigned log_level:8; unsigned persistent:1; unsigned clean:1; + unsigned thread_write:1; } ngx_temp_file_t; |