changeset 5679:5748ce74c1cc

Cache: added ngx_quit check to ngx_http_file_cache_expire(). While managing big caches it is possible that expiring old cache items in ngx_http_file_cache_expire() will take a while. Added a check for ngx_quit / ngx_terminate to make sure cache manager can be terminated while in ngx_http_file_cache_expire().
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 30 Apr 2014 19:16:35 +0400
parents 0e1491139947
children dfb3c15bc851
files src/http/ngx_http_file_cache.c
diffstat 1 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/http/ngx_http_file_cache.c
+++ b/src/http/ngx_http_file_cache.c
@@ -1313,6 +1313,11 @@ ngx_http_file_cache_expire(ngx_http_file
 
     for ( ;; ) {
 
+        if (ngx_quit || ngx_terminate) {
+            wait = 1;
+            break;
+        }
+
         if (ngx_queue_empty(&cache->sh->queue)) {
             wait = 10;
             break;