aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorSergey Kandaurov <pluknet@nginx.com>2021-11-03 11:22:07 +0300
committerSergey Kandaurov <pluknet@nginx.com>2021-11-03 11:22:07 +0300
commitbbd05ae252bce1907173d13c6e48d1bed71cd9ea (patch)
tree6bca56a91f1d0a0b1c3ad4ac0d3c3ba2b4122468 /src/core
parent8f8cb92e9229d75ea5816f35c6b4bfdfb253a486 (diff)
parent3334585539168947650a37d74dd32973ab451d70 (diff)
downloadnginx-bbd05ae252bce1907173d13c6e48d1bed71cd9ea.tar.gz
nginx-bbd05ae252bce1907173d13c6e48d1bed71cd9ea.zip
Merged with the default branch.
Diffstat (limited to 'src/core')
-rw-r--r--src/core/nginx.h4
-rw-r--r--src/core/ngx_buf.c8
-rw-r--r--src/core/ngx_hash.c4
-rw-r--r--src/core/ngx_output_chain.c4
-rw-r--r--src/core/ngx_times.c4
5 files changed, 14 insertions, 10 deletions
diff --git a/src/core/nginx.h b/src/core/nginx.h
index 6b134945e..bc4af23af 100644
--- a/src/core/nginx.h
+++ b/src/core/nginx.h
@@ -9,8 +9,8 @@
#define _NGINX_H_INCLUDED_
-#define nginx_version 1021003
-#define NGINX_VERSION "1.21.3"
+#define nginx_version 1021004
+#define NGINX_VERSION "1.21.4"
#define NGINX_VER "nginx/" NGINX_VERSION
#ifdef NGX_BUILD
diff --git a/src/core/ngx_buf.c b/src/core/ngx_buf.c
index c3783c446..811f24d96 100644
--- a/src/core/ngx_buf.c
+++ b/src/core/ngx_buf.c
@@ -203,16 +203,16 @@ ngx_chain_update_chains(ngx_pool_t *p, ngx_chain_t **free, ngx_chain_t **busy,
while (*busy) {
cl = *busy;
- if (ngx_buf_size(cl->buf) != 0) {
- break;
- }
-
if (cl->buf->tag != tag) {
*busy = cl->next;
ngx_free_chain(p, cl);
continue;
}
+ if (ngx_buf_size(cl->buf) != 0) {
+ break;
+ }
+
cl->buf->pos = cl->buf->start;
cl->buf->last = cl->buf->start;
diff --git a/src/core/ngx_hash.c b/src/core/ngx_hash.c
index d9c157c1d..8215c2717 100644
--- a/src/core/ngx_hash.c
+++ b/src/core/ngx_hash.c
@@ -274,6 +274,10 @@ ngx_hash_init(ngx_hash_init_t *hinit, ngx_hash_key_t *names, ngx_uint_t nelts)
}
for (n = 0; n < nelts; n++) {
+ if (names[n].key.data == NULL) {
+ continue;
+ }
+
if (hinit->bucket_size < NGX_HASH_ELT_SIZE(&names[n]) + sizeof(void *))
{
ngx_log_error(NGX_LOG_EMERG, hinit->pool->log, 0,
diff --git a/src/core/ngx_output_chain.c b/src/core/ngx_output_chain.c
index 5c3dbe872..fd4603b19 100644
--- a/src/core/ngx_output_chain.c
+++ b/src/core/ngx_output_chain.c
@@ -803,6 +803,10 @@ ngx_chain_writer(void *data, ngx_chain_t *in)
return NGX_ERROR;
}
+ if (chain && c->write->ready) {
+ ngx_post_event(c->write, &ngx_posted_next_events);
+ }
+
for (cl = ctx->out; cl && cl != chain; /* void */) {
ln = cl;
cl = cl->next;
diff --git a/src/core/ngx_times.c b/src/core/ngx_times.c
index 7964b008f..16788c98c 100644
--- a/src/core/ngx_times.c
+++ b/src/core/ngx_times.c
@@ -200,10 +200,6 @@ ngx_monotonic_time(time_t sec, ngx_uint_t msec)
#if defined(CLOCK_MONOTONIC_FAST)
clock_gettime(CLOCK_MONOTONIC_FAST, &ts);
-
-#elif defined(CLOCK_MONOTONIC_COARSE)
- clock_gettime(CLOCK_MONOTONIC_COARSE, &ts);
-
#else
clock_gettime(CLOCK_MONOTONIC, &ts);
#endif