Mercurial > hg > nginx
view src/os/unix/ngx_setaffinity.h @ 7702:7015f26aef90
Cache: ignore stale-if-error for 4xx and 5xx codes.
Previously the stale-if-error extension of the Cache-Control upstream header
triggered the return of a stale response for all error conditions that can be
specified in the proxy_cache_use_stale directive. The list of these errors
includes both network/timeout/format errors, as well as some HTTP codes like
503, 504, 403, 429 etc. The latter prevented a cache entry from being updated
by a response with any of these HTTP codes during the stale-if-error period.
Now stale-if-error only works for network/timeout/format errors and ignores
the upstream HTTP code. The return of a stale response for certain HTTP codes
is still possible using the proxy_cache_use_stale directive.
This change also applies to the stale-while-revalidate extension of the
Cache-Control header, which triggers stale-if-error if it is missing.
Reported at
http://mailman.nginx.org/pipermail/nginx/2020-July/059723.html.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Wed, 29 Jul 2020 13:28:04 +0300 |
parents | 7296b38f6416 |
children |
line wrap: on
line source
/* * Copyright (C) Nginx, Inc. */ #ifndef _NGX_SETAFFINITY_H_INCLUDED_ #define _NGX_SETAFFINITY_H_INCLUDED_ #if (NGX_HAVE_SCHED_SETAFFINITY || NGX_HAVE_CPUSET_SETAFFINITY) #define NGX_HAVE_CPU_AFFINITY 1 #if (NGX_HAVE_SCHED_SETAFFINITY) typedef cpu_set_t ngx_cpuset_t; #elif (NGX_HAVE_CPUSET_SETAFFINITY) #include <sys/cpuset.h> typedef cpuset_t ngx_cpuset_t; #endif void ngx_setaffinity(ngx_cpuset_t *cpu_affinity, ngx_log_t *log); #else #define ngx_setaffinity(cpu_affinity, log) typedef uint64_t ngx_cpuset_t; #endif #endif /* _NGX_SETAFFINITY_H_INCLUDED_ */