Mercurial > hg > nginx
comparison src/http/ngx_http_core_module.c @ 4471:b19a651471d9
Core: protection from subrequest loops.
Without the protection, subrequest loop results in r->count overflow and
SIGSEGV. Protection was broken in 0.7.25.
Note that this also limits number of parallel subrequests. This
wasn't exactly the case before 0.7.25 as local subrequests were
completed directly.
See here for details:
http://nginx.org/pipermail/nginx-ru/2010-February/032184.html
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 13 Feb 2012 15:33:08 +0000 |
parents | d620f497c50f |
children | c95b828912a3 |
comparison
equal
deleted
inserted
replaced
4470:d9bf6caf0371 | 4471:b19a651471d9 |
---|---|
2451 | 2451 |
2452 tp = ngx_timeofday(); | 2452 tp = ngx_timeofday(); |
2453 sr->start_sec = tp->sec; | 2453 sr->start_sec = tp->sec; |
2454 sr->start_msec = tp->msec; | 2454 sr->start_msec = tp->msec; |
2455 | 2455 |
2456 r->main->subrequests++; | |
2457 r->main->count++; | 2456 r->main->count++; |
2458 | 2457 |
2459 *psr = sr; | 2458 *psr = sr; |
2460 | 2459 |
2461 return ngx_http_post_request(sr, NULL); | 2460 return ngx_http_post_request(sr, NULL); |