| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2015-05-20 | Upstream: report to error_log when max_fails is reached. | Ruslan Ermilov | 2 | -0/+10 | |
| This can be useful to understand why "no live upstreams" happens, in particular. | |||||
| 2015-05-20 | The "reuseport" option of the "listen" directive. | Maxim Dounin | 11 | -6/+196 | |
| When configured, an individual listen socket on a given address is created for each worker process. This allows to reduce in-kernel lock contention on configurations with high accept rates, resulting in better performance. As of now it works on Linux and DragonFly BSD. Note that on Linux incoming connection requests are currently tied up to a specific listen socket, and if some sockets are closed, connection requests will be reset, see https://lwn.net/Articles/542629/. With nginx, this may happen if the number of worker processes is reduced. There is no such problem on DragonFly BSD. Based on previous work by Sepherosa Ziehau and Yingqi Lu. | |||||
| 2015-05-20 | Simplified ngx_http_init_listening(). | Maxim Dounin | 3 | -21/+3 | |
| There is no need to set "i" to 0, as it's expected to be 0 assuming the bindings are properly sorted, and we already rely on this when explicitly set hport->naddrs to 1. Remaining conditional code is replaced with identical "hport->naddrs = i + 1". Identical modifications are done in the mail and stream modules, in the ngx_mail_optimize_servers() and ngx_stream_optimize_servers() functions, respectively. No functional changes. | |||||
| 2015-05-20 | Introduced worker number, ngx_worker. | Maxim Dounin | 4 | -0/+5 | |
| 2015-05-19 | Core: properly initialized written bytes counter in memory log. | Valentin Bartenev | 1 | -1/+1 | |
| 2015-05-18 | Upstream hash: consistency across little/big endianness. | Sergey Kandaurov | 2 | -8/+30 | |
| 2015-05-16 | Upstream: $upstream_connect_time. | Ruslan Ermilov | 2 | -1/+14 | |
| The variable keeps time spent on establishing a connection with the upstream server. | |||||
| 2015-05-16 | Upstream: times to obtain header/response are stored as ngx_msec_t. | Ruslan Ermilov | 2 | -30/+13 | |
| 2015-05-15 | Events: ngx_event_t size reduction by grouping bit fields. | Igor Sysoev | 1 | -9/+8 | |
| 2015-05-06 | Events: made a failure to create a notification channel non-fatal. | Ruslan Ermilov | 1 | -1/+1 | |
| This may happen if eventfd() returns ENOSYS, notably seen on CentOS 5.4. Such a failure will now just disable the notification mechanism and let the callers cope with it, instead of failing to start worker processes. If thread pools are not configured, this can safely be ignored. | |||||
| 2015-04-29 | Removed the deprecated "imap" directive. | Ruslan Ermilov | 1 | -13/+0 | |
| 2015-04-29 | Removed the deprecated "so_keepalive" directive. | Ruslan Ermilov | 3 | -31/+0 | |
| 2015-04-29 | Removed deprecated HTTP directives. | Ruslan Ermilov | 1 | -33/+0 | |
| 2015-04-29 | Removed the deprecated "connections" directive. | Ruslan Ermilov | 1 | -13/+0 | |
| 2015-04-28 | Fixed overflow detection in ngx_inet_addr(). | Valentin Bartenev | 1 | -5/+5 | |
| Overflow detection of the last octet might not work. Reported by Sergey Polovko. | |||||
| 2015-04-28 | Version bump. | Valentin Bartenev | 1 | -2/+2 | |
| 2015-04-27 | Win32: shared memory base addresses and remapping. | Maxim Dounin | 4 | -2/+100 | |
| Two mechanisms are implemented to make it possible to store pointers in shared memory on Windows, in particular on Windows Vista and later versions with ASLR: - The ngx_shm_remap() function added to allow remapping of a shared memory zone to the address originally used for it in the master process. While important, it doesn't solve the problem by itself as in many cases it's not possible to use the address because of conflicts with other allocations. - We now create mappings at the same address in all processes by starting mappings at predefined addresses normally unused by newborn processes. These two mechanisms combined allow to use shared memory on Windows almost without problems, including reloads. Based on the patch by Sergey Brester: http://mailman.nginx.org/pipermail/nginx-devel/2015-April/006836.html | |||||
| 2015-04-27 | Win32: fixed shm.handle loss on reload. | Maxim Dounin | 1 | -0/+3 | |
| 2015-04-27 | Core: fixed nginx_shared_zone name. | Maxim Dounin | 1 | -1/+1 | |
| 2015-02-20 | Mail: error_log support. | Vladimir Homutov | 4 | -19/+54 | |
| 2015-04-25 | Core: the ngx_set_connection_log() macro. | Vladimir Homutov | 7 | -27/+17 | |
| The http and stream versions of this macro were identical. | |||||
| 2015-04-24 | Merge proxy_protocol setting of listen directives. | Roman Arutyunyan | 1 | -1/+4 | |
| It's now enough to specify proxy_protocol option in one listen directive to enable it in all servers listening on the same address/port. Previously, the setting from the first directive was always used. | |||||
| 2015-04-23 | Removed the "worker_rlimit_sigpending" directive. | Ruslan Ermilov | 3 | -22/+0 | |
| It was only needed by the just removed rtsig module. | |||||
| 2015-04-23 | Removed the obsolete rtsig module. | Ruslan Ermilov | 10 | -887/+27 | |
| 2015-04-22 | Removed the obsolete aio module. | Ruslan Ermilov | 16 | -600/+14 | |
| 2015-04-22 | Stream: prevent repeated event notifications after eof. | Roman Arutyunyan | 1 | -1/+4 | |
| When client or upstream connection is closed, level-triggered read event remained active until the end of the session leading to cpu hog. Now the flag NGX_CLOSE_EVENT is used to unschedule the event. | |||||
| 2015-04-22 | Upstream: allow multiple upstreams to use the same shared zone. | Ruslan Ermilov | 2 | -84/+112 | |
| 2015-04-21 | Memcached: enabled ranges. | Martin Mlynář | 1 | -0/+1 | |
| 2015-04-21 | Upstream: simplified ip_hash and hash peer selection code. | Ruslan Ermilov | 3 | -66/+24 | |
| Now that peers are stored as a list, the weighted and unweighted cases became nearly identical. | |||||
| 2015-04-20 | Limit req: removed check for unknown limit_req_zone. | Sergey Kandaurov | 1 | -7/+0 | |
| With 48b3d5ddfb03, it's possible to specify limit_req_zone after limit_req. | |||||
| 2015-04-20 | Core: allow shared memory size to be declared after a reference. | Sergey Kandaurov | 1 | -0/+4 | |
| For example, this fixes the case when "proxy_cache_path" is specified after "proxy_cache" that references it. | |||||
| 2015-04-20 | Stream: port from NGINX+. | Ruslan Ermilov | 16 | -2/+5928 | |
| 2015-04-19 | Upstream: fixed unlocked access to peer->conns. | Ruslan Ermilov | 1 | -3/+6 | |
| 2015-03-26 | Replaced the remaining NGX_OLD_THREADS check with NGX_WIN32. | Ruslan Ermilov | 2 | -3/+3 | |
| 2015-03-26 | Removed NGX_OLD_THREADS from select and poll modules. | Ruslan Ermilov | 2 | -20/+0 | |
| These modules can't be compiled on win32. | |||||
| 2015-03-26 | Removed "worker_threads" and "thread_stack_size" directives. | Ruslan Ermilov | 5 | -78/+1 | |
| 2015-03-26 | Removed unused thread-local-storage code. | Ruslan Ermilov | 5 | -56/+0 | |
| 2015-03-26 | Removed ngx_threaded and related code. | Ruslan Ermilov | 3 | -39/+0 | |
| 2015-04-16 | Upstream: get rid of questionable micro-optimization in ip_hash. | Ruslan Ermilov | 1 | -7/+2 | |
| If a peer was initially skipped due to max_fails, there's no reason not to try it again if enough time has passed, and the next_upstream logic is in action. This also reduces diffs with NGINX Plus. | |||||
| 2015-04-16 | Core: ensure that ngx_config.h is always included first. | Sergey Kandaurov | 1 | -0/+3 | |
| This fixes compilation of various 3rd party modules when nginx is configured with threads. | |||||
| 2015-04-16 | Version bump. | Maxim Dounin | 1 | -2/+2 | |
| 2015-04-14 | Upstream: the "zone" directive. | Ruslan Ermilov | 7 | -7/+392 | |
| Upstreams with the "zone" directive are kept in shared memory, with a consistent view of all worker processes. | |||||
| 2015-04-14 | Upstreams: locking. | Ruslan Ermilov | 5 | -29/+50 | |
| 2015-03-21 | Core: read/write locks. | Ruslan Ermilov | 3 | -0/+134 | |
| 2015-04-10 | Upstream: store peers as a linked list. | Ruslan Ermilov | 5 | -86/+139 | |
| This is an API change. | |||||
| 2015-04-10 | Upstream: track the number of active connections to upstreams. | Ruslan Ermilov | 5 | -122/+35 | |
| This also simplifies the implementation of the least_conn module. | |||||
| 2015-04-16 | Fixed build, broken by 8b7f062a3fe6. | Ruslan Ermilov | 1 | -1/+2 | |
| Casting a "const char *" to "char *" doesn't work on older gcc versions. | |||||
| 2015-04-16 | Core: added OpenSSL version information to "nginx -V" output. | Vladimir Homutov | 1 | -5/+16 | |
| 2015-04-16 | Version bump. | Vladimir Homutov | 1 | -2/+2 | |
| 2015-03-26 | Core: guard against spinlock usage without atomic ops. | Ruslan Ermilov | 1 | -1/+1 | |
| The new thread pools code uses spinlocks. | |||||
