aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2016-10-10 18:44:17 +0300
committerMaxim Dounin <mdounin@mdounin.ru>2016-10-10 18:44:17 +0300
commit844c78556bc93343dd1c3c9236b5c16f4e2eac39 (patch)
treeb3649cec59d23ca71d1d169ca3c4cc46e3265eaa /src
parent9f6e8673f40f7532bf3059bda41e05b545520dd3 (diff)
downloadnginx-844c78556bc93343dd1c3c9236b5c16f4e2eac39.tar.gz
nginx-844c78556bc93343dd1c3c9236b5c16f4e2eac39.zip
Modules compatibility: compatibility with NGX_HAVE_FILE_AIO.
With this change it is now possible to load modules compiled without the "--with-file-aio" configure option into nginx binary compiled with it, and vice versa, assuming both use the "--with-compat" option.
Diffstat (limited to 'src')
-rw-r--r--src/core/ngx_buf.h6
-rw-r--r--src/core/ngx_connection.h2
-rw-r--r--src/core/ngx_file.h2
-rw-r--r--src/core/ngx_module.h4
-rw-r--r--src/event/ngx_event.h2
-rw-r--r--src/http/ngx_http_core_module.c2
6 files changed, 7 insertions, 11 deletions
diff --git a/src/core/ngx_buf.h b/src/core/ngx_buf.h
index 224807cb0..12781a782 100644
--- a/src/core/ngx_buf.h
+++ b/src/core/ngx_buf.h
@@ -72,10 +72,8 @@ typedef struct ngx_output_chain_ctx_s ngx_output_chain_ctx_t;
typedef ngx_int_t (*ngx_output_chain_filter_pt)(void *ctx, ngx_chain_t *in);
-#if (NGX_HAVE_FILE_AIO)
typedef void (*ngx_output_chain_aio_pt)(ngx_output_chain_ctx_t *ctx,
ngx_file_t *file);
-#endif
struct ngx_output_chain_ctx_s {
ngx_buf_t *buf;
@@ -90,9 +88,9 @@ struct ngx_output_chain_ctx_s {
unsigned need_in_temp:1;
unsigned aio:1;
-#if (NGX_HAVE_FILE_AIO)
+#if (NGX_HAVE_FILE_AIO || NGX_COMPAT)
ngx_output_chain_aio_pt aio_handler;
-#if (NGX_HAVE_AIO_SENDFILE)
+#if (NGX_HAVE_AIO_SENDFILE || NGX_COMPAT)
ssize_t (*aio_preload)(ngx_buf_t *file);
#endif
#endif
diff --git a/src/core/ngx_connection.h b/src/core/ngx_connection.h
index b527954e6..a49c5a656 100644
--- a/src/core/ngx_connection.h
+++ b/src/core/ngx_connection.h
@@ -182,7 +182,7 @@ struct ngx_connection_s {
unsigned need_last_buf:1;
-#if (NGX_HAVE_AIO_SENDFILE)
+#if (NGX_HAVE_AIO_SENDFILE || NGX_COMPAT)
unsigned busy_count:2;
#endif
diff --git a/src/core/ngx_file.h b/src/core/ngx_file.h
index cff74cba1..320adc295 100644
--- a/src/core/ngx_file.h
+++ b/src/core/ngx_file.h
@@ -30,7 +30,7 @@ struct ngx_file_s {
ngx_thread_task_t *thread_task;
#endif
-#if (NGX_HAVE_FILE_AIO)
+#if (NGX_HAVE_FILE_AIO || NGX_COMPAT)
ngx_event_aio_t *aio;
#endif
diff --git a/src/core/ngx_module.h b/src/core/ngx_module.h
index 626481d8a..4d0db44c6 100644
--- a/src/core/ngx_module.h
+++ b/src/core/ngx_module.h
@@ -35,13 +35,13 @@
#define NGX_MODULE_SIGNATURE_2 "0"
#endif
-#if (NGX_HAVE_FILE_AIO)
+#if (NGX_HAVE_FILE_AIO || NGX_COMPAT)
#define NGX_MODULE_SIGNATURE_3 "1"
#else
#define NGX_MODULE_SIGNATURE_3 "0"
#endif
-#if (NGX_HAVE_AIO_SENDFILE)
+#if (NGX_HAVE_AIO_SENDFILE || NGX_COMPAT)
#define NGX_MODULE_SIGNATURE_4 "1"
#else
#define NGX_MODULE_SIGNATURE_4 "0"
diff --git a/src/event/ngx_event.h b/src/event/ngx_event.h
index f0b75af61..053bd16f8 100644
--- a/src/event/ngx_event.h
+++ b/src/event/ngx_event.h
@@ -152,7 +152,7 @@ struct ngx_event_aio_s {
ngx_event_handler_pt handler;
ngx_file_t *file;
-#if (NGX_HAVE_AIO_SENDFILE)
+#if (NGX_HAVE_AIO_SENDFILE || NGX_COMPAT)
ssize_t (*preload_handler)(ngx_buf_t *file);
#endif
diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c
index 2daea1013..9da5d109e 100644
--- a/src/http/ngx_http_core_module.c
+++ b/src/http/ngx_http_core_module.c
@@ -3760,10 +3760,8 @@ ngx_http_core_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
ngx_conf_merge_value(conf->sendfile, prev->sendfile, 0);
ngx_conf_merge_size_value(conf->sendfile_max_chunk,
prev->sendfile_max_chunk, 0);
-#if (NGX_HAVE_FILE_AIO || NGX_THREADS)
ngx_conf_merge_value(conf->aio, prev->aio, NGX_HTTP_AIO_OFF);
ngx_conf_merge_value(conf->aio_write, prev->aio_write, 0);
-#endif
#if (NGX_THREADS)
ngx_conf_merge_ptr_value(conf->thread_pool, prev->thread_pool, NULL);
ngx_conf_merge_ptr_value(conf->thread_pool_value, prev->thread_pool_value,