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);