Mercurial > hg > nginx
comparison src/os/win32/ngx_process_cycle.c @ 3439:3354dfba9da4 stable-0.7
merge r3137, r3198, r3199, r3353, r3370, r3371, r3398, r3399:
cache related fixes:
*) do not pass buf with empty cached response,
this fixes "zero size buf in output" alert
*) hide cacheable Set-Cookie and P3P FastCGI response headers
*) test comma separator in "Cache-Control"
*) a cache manager thread handle was overwritten by a cache loader thread
handle, this caused an exit delay, the bug had been introduced in r3248
*) fix handling cached HTTP/0.9 response
*) log proxied HTTP/0.9 responses status as "009"
*) fix the "If-None-Match" header name
*) fix a cached zero-length body case
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 01 Feb 2010 15:46:14 +0000 |
parents | 8c76116820f3 |
children | e1409e56ba7c |
comparison
equal
deleted
inserted
replaced
3438:a0a131127626 | 3439:3354dfba9da4 |
---|---|
597 char wqevn[NGX_PROCESS_SYNC_NAME]; | 597 char wqevn[NGX_PROCESS_SYNC_NAME]; |
598 char wroevn[NGX_PROCESS_SYNC_NAME]; | 598 char wroevn[NGX_PROCESS_SYNC_NAME]; |
599 HANDLE mev, events[3]; | 599 HANDLE mev, events[3]; |
600 u_long nev, ev; | 600 u_long nev, ev; |
601 ngx_err_t err; | 601 ngx_err_t err; |
602 ngx_tid_t wtid, cmtid; | 602 ngx_tid_t wtid, cmtid, cltid; |
603 ngx_log_t *log; | 603 ngx_log_t *log; |
604 | 604 |
605 log = cycle->log; | 605 log = cycle->log; |
606 | 606 |
607 ngx_log_debug0(NGX_LOG_DEBUG_CORE, log, 0, "worker started"); | 607 ngx_log_debug0(NGX_LOG_DEBUG_CORE, log, 0, "worker started"); |
669 | 669 |
670 if (ngx_create_thread(&cmtid, ngx_cache_manager_thread, NULL, log) != 0) { | 670 if (ngx_create_thread(&cmtid, ngx_cache_manager_thread, NULL, log) != 0) { |
671 goto failed; | 671 goto failed; |
672 } | 672 } |
673 | 673 |
674 if (ngx_create_thread(&cmtid, ngx_cache_loader_thread, NULL, log) != 0) { | 674 if (ngx_create_thread(&cltid, ngx_cache_loader_thread, NULL, log) != 0) { |
675 goto failed; | 675 goto failed; |
676 } | 676 } |
677 | 677 |
678 for ( ;; ) { | 678 for ( ;; ) { |
679 ev = WaitForMultipleObjects(3, events, 0, INFINITE); | 679 ev = WaitForMultipleObjects(3, events, 0, INFINITE); |