comparison src/http/ngx_http_file_cache.c @ 646:09a689c5e494 NGINX_1_0_13

nginx 1.0.13 *) Feature: the "return" and "error_page" directives can now 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: memory leaks. Thanks to Lanshun Zhou. *) Bugfix: nginx might log incorrect error "upstream prematurely closed connection" instead of correct "upstream sent too big header" one. Thanks to Feibo Li. *) Bugfix: on ZFS filesystem disk cache size might be calculated incorrectly; the bug had appeared in 1.0.1. *) Bugfix: the number of internal redirects to named locations was not limited. *) Bugfix: temporary files might be not removed if the "proxy_store" directive was used with SSI includes. *) Bugfix: in some cases non-cacheable variables (such as the $args variable) returned old empty cached value. *) Bugfix: the "proxy_redirect" directives might be inherited incorrectly. *) Bugfix: nginx could not be built with the ngx_http_perl_module if the --with-openssl option was used. *) Bugfix: nginx could not be built by the icc 12.1 compiler.
author Igor Sysoev <http://sysoev.ru>
date Mon, 05 Mar 2012 00:00:00 +0400
parents ad25218fd14b
children
comparison
equal deleted inserted replaced
645:60344e6faa47 646:09a689c5e494
671 continue; 671 continue;
672 } 672 }
673 673
674 /* node_key == node->key */ 674 /* node_key == node->key */
675 675
676 do { 676 fcn = (ngx_http_file_cache_node_t *) node;
677 fcn = (ngx_http_file_cache_node_t *) node; 677
678 678 rc = ngx_memcmp(&key[sizeof(ngx_rbtree_key_t)], fcn->key,
679 rc = ngx_memcmp(&key[sizeof(ngx_rbtree_key_t)], fcn->key, 679 NGX_HTTP_CACHE_KEY_LEN - sizeof(ngx_rbtree_key_t));
680 NGX_HTTP_CACHE_KEY_LEN - sizeof(ngx_rbtree_key_t)); 680
681 681 if (rc == 0) {
682 if (rc == 0) { 682 return fcn;
683 return fcn; 683 }
684 } 684
685 685 node = (rc < 0) ? node->left : node->right;
686 node = (rc < 0) ? node->left : node->right;
687
688 } while (node != sentinel && node_key == node->key);
689
690 break;
691 } 686 }
692 687
693 /* not found */ 688 /* not found */
694 689
695 return NULL; 690 return NULL;