Mercurial > hg > nginx-vendor-current
comparison src/http/modules/ngx_http_limit_conn_module.c @ 664:f5b859b2f097 NGINX_1_1_16
nginx 1.1.16
*) Change: the simultaneous subrequest limit has been raised to 200.
*) Feature: the "from" parameter of the "disable_symlinks" directive.
*) Feature: the "return" and "error_page" directives can be used to
return 307 redirections.
*) Bugfix: a segmentation fault might occur in a worker process if the
"resolver" directive was used and there was no "error_log" directive
specified at global level.
Thanks to Roman Arutyunyan.
*) Bugfix: a segmentation fault might occur in a worker process if the
"proxy_http_version 1.1" or "fastcgi_keep_conn on" directives were
used.
*) Bugfix: memory leaks.
Thanks to Lanshun Zhou.
*) Bugfix: in the "disable_symlinks" directive.
*) Bugfix: on ZFS filesystem disk cache size might be calculated
incorrectly; the bug had appeared in 1.0.1.
*) Bugfix: nginx could not be built by the icc 12.1 compiler.
*) Bugfix: nginx could not be built by gcc on Solaris; the bug had
appeared in 1.1.15.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 29 Feb 2012 00:00:00 +0400 |
parents | e5fa0a4a7d27 |
children | 5cb5db9975ba |
comparison
equal
deleted
inserted
replaced
663:dd668cf20818 | 664:f5b859b2f097 |
---|---|
116 NULL, /* init main configuration */ | 116 NULL, /* init main configuration */ |
117 | 117 |
118 NULL, /* create server configuration */ | 118 NULL, /* create server configuration */ |
119 NULL, /* merge server configuration */ | 119 NULL, /* merge server configuration */ |
120 | 120 |
121 ngx_http_limit_conn_create_conf, /* create location configration */ | 121 ngx_http_limit_conn_create_conf, /* create location configuration */ |
122 ngx_http_limit_conn_merge_conf /* merge location configration */ | 122 ngx_http_limit_conn_merge_conf /* merge location configuration */ |
123 }; | 123 }; |
124 | 124 |
125 | 125 |
126 ngx_module_t ngx_http_limit_conn_module = { | 126 ngx_module_t ngx_http_limit_conn_module = { |
127 NGX_MODULE_V1, | 127 NGX_MODULE_V1, |
323 continue; | 323 continue; |
324 } | 324 } |
325 | 325 |
326 /* hash == node->key */ | 326 /* hash == node->key */ |
327 | 327 |
328 do { | 328 lcn = (ngx_http_limit_conn_node_t *) &node->color; |
329 lcn = (ngx_http_limit_conn_node_t *) &node->color; | 329 |
330 | 330 rc = ngx_memn2cmp(vv->data, lcn->data, |
331 rc = ngx_memn2cmp(vv->data, lcn->data, | 331 (size_t) vv->len, (size_t) lcn->len); |
332 (size_t) vv->len, (size_t) lcn->len); | 332 if (rc == 0) { |
333 if (rc == 0) { | 333 return node; |
334 return node; | 334 } |
335 } | 335 |
336 | 336 node = (rc < 0) ? node->left : node->right; |
337 node = (rc < 0) ? node->left : node->right; | |
338 | |
339 } while (node != sentinel && hash == node->key); | |
340 | |
341 break; | |
342 } | 337 } |
343 | 338 |
344 return NULL; | 339 return NULL; |
345 } | 340 } |
346 | 341 |