aboutsummaryrefslogtreecommitdiff
path: root/src/os/unix/ngx_process_cycle.c
Commit message (Collapse)AuthorAge
* Fixed undefined behavior when left shifting signed integer.Ruslan Ermilov2016-08-04
|
* Fixed logging.Sergey Kandaurov2016-03-31
|
* Core: added support for more than 64 CPUs in worker_cpu_affinity.Vladimir Homutov2016-02-18
|
* Dynamic modules: changed ngx_modules to cycle->modules.Maxim Dounin2016-02-04
|
* Core: idle connections now closed only once on exiting.Valentin Bartenev2015-08-11
| | | | | | | | | | | | Iterating through all connections takes a lot of CPU time, especially with large number of worker connections configured. As a result nginx processes used to consume CPU time during graceful shutdown. To mitigate this we now only do a full scan for idle connections when shutdown signal is received. Transitions of connections to idle ones are now expected to be avoided if the ngx_exiting flag is set. The upstream keepalive module was modified to follow this.
* Introduced worker number, ngx_worker.Maxim Dounin2015-05-20
|
* Removed the "worker_rlimit_sigpending" directive.Ruslan Ermilov2015-04-23
| | | | It was only needed by the just removed rtsig module.
* Removed unix ngx_threaded and related ngx_process_changes.Ruslan Ermilov2015-03-20
|
* Removed old pthread implementation.Ruslan Ermilov2015-03-20
|
* Renamed NGX_THREADS to NGX_OLD_THREADS because of deprecation.Ruslan Ermilov2015-03-04
| | | | It's mostly dead code and the original idea of worker threads has been rejected.
* Events: introduced cancelable timers.Valentin Bartenev2014-08-13
|
* Events: removed broken thread support from event timers.Valentin Bartenev2014-08-25
| | | | | It's mostly dead code. And the idea of thread support for this task has been deprecated.
* Events: removed broken thread support from posted events.Valentin Bartenev2014-09-01
| | | | | It's mostly dead code. And the idea of thread support for this task has been deprecated.
* Core: exit on ngx_pnalloc() failure.Piotr Sikora2014-08-01
| | | | Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
* Added syslog support for error_log and access_log directives.Vladimir Homutov2014-05-12
|
* Added connection serial number in logging of left open sockets.Sergey Kandaurov2014-03-06
|
* Added per-process random seeding (ticket #456).Maxim Dounin2014-01-04
|
* Style.Maxim Dounin2013-07-11
|
* Core: support several "error_log" directives.Vladimir Homutov2013-06-20
| | | | | | | | | | | | When several "error_log" directives are specified in the same configuration block, logs are written to all files with a matching log level. All logs are stored in the singly-linked list that is sorted by log level in the descending order. Specific debug levels (NGX_LOG_DEBUG_HTTP,EVENT, etc.) are not supported if several "error_log" directives are specified. In this case all logs will use debug level that has largest absolute value.
* Valgrind: supressed complaints about uninitialized bytes.Maxim Dounin2013-06-05
| | | | | | | | | | | | | | | | Valgrind complains if we pass uninitialized memory to a syscall: ==36492== Syscall param sendmsg(msg.msg_iov[0]) points to uninitialised byte(s) ==36492== at 0x6B5E6A: sendmsg (in /usr/lib/system/libsystem_kernel.dylib) ==36492== by 0x10004288E: ngx_signal_worker_processes (ngx_process_cycle.c:527) ==36492== by 0x1000417A7: ngx_master_process_cycle (ngx_process_cycle.c:203) ==36492== by 0x100001F10: main (nginx.c:410) ==36492== Address 0x7fff5fbff71c is on thread 1's stack Even initialization of all members of the structure passed isn't enough, as there is padding which still remains uninitialized and results in Valgrind complaint. Note there is no real problem here as data from uninitialized memory isn't used.
* Use NGX_FILE_ERROR for handling file operations errors.Valentin Bartenev2013-03-25
| | | | | | | | | | | On Win32 platforms 0 is used to indicate errors in file operations, so comparing against -1 is not portable. This was not much of an issue in patched code, since only ngx_fd_info() test is actually reachable on Win32 and in worst case it might result in bogus error log entry. Patch by Piotr Sikora.
* Fixed failure to start cache manager and cache loader processesIgor Sysoev2012-11-20
| | | | if there were more than 512 listening sockets in configuration.
* Fixed setting of CPU affinity on respawn of dead worker processes.Ruslan Ermilov2012-11-16
| | | | | Worker processes are now made aware of their sequential number needed to select CPU affinity mask. This replaces a workaround from r4865.
* Correct plural form for "path" in the whole source base.Andrey Belov2012-09-28
|
* Added clearing of cpu_affinity after process spawn.Maxim Dounin2012-09-26
| | | | | | | | | This fixes unwanted/incorrect cpu_affinity use on dead worker processes respawn. While this is not ideal, it's expected to be better when previous situation where multiple processes were spawn with identical CPU affinity set. Reported by Charles Chen.
* Fixed segfault with poll and resolver used.Maxim Dounin2012-06-18
| | | | | | Poll event method needs ngx_cycle->files to work, and use of ngx_exit_cycle without files set caused null pointer dereference in resolver's cleanup on udp socket close.
* worker_cpu_affinity: cleaned up Linux implementation, added FreeBSD support.Ruslan Ermilov2012-03-21
|
* Added msleep() on reload to allow new processes to start.Maxim Dounin2012-02-28
| | | | | | | This is expected to ensure smoother operation on reload (and with less chance of listen queue overflows). Prodded by Igor Sysoev.
* Copyright updated.Maxim Konovalov2012-01-18
|
* Fixed sched_setaffinity(2) to correctly pass size.Maxim Dounin2012-01-16
| | | | | | Second argument (cpusetsize) is size in bytes, not in bits. Previously used constant 32 resulted in reading of uninitialized memory and caused EINVAL to be returned on some Linux kernels.
* Replaced "can not" with "cannot" and "could not" in a bunch of places.Ruslan Ermilov2011-09-19
| | | | Fixed nearby grammar errors.
* allow "env" to work in the single process modeIgor Sysoev2010-12-13
|
* worker_rlimit_core should be off_tIgor Sysoev2010-09-15
|
* *) introduce ngx_time_sigsafe_update() to update the error log time onlyIgor Sysoev2010-03-25
| | | | *) change ngx_time_update() interface
* *) use previously cached GMT offset value to update time from a signal handlerIgor Sysoev2010-03-13
| | | | | *) change ngx_time_update() interface since there are no notification methods those return time
* add NGX_PROCESS_HELPER process statusIgor Sysoev2009-11-23
|
* fix building without --with-debug, introduced in r3294Igor Sysoev2009-11-11
|
* Fix a bug introduced in r2032: After a child process has read a terminateIgor Sysoev2009-11-04
| | | | | | | | | | | | | message from a channel, the process tries to read the channel again. The kernel (at least FreeBSD) may preempt the process and sends a SIGIO signal to a master process. The master process sends a new terminate message, the kernel switches again to the the child process, and the child process reads the messages instead of an EAGAIN error. And this may repeat over and over. Being that the child process can not exit the cycle and test the termination flag set by the message handler. The fix disallow the master process to send a new terminate message on SIGIO signal reception. It may send the message only on SIGALARM signal.
* http listen unix domain socketsIgor Sysoev2009-10-26
|
* twice termination delay only after SIGALRM, otherwise many separate SIGCHLDIgor Sysoev2009-08-26
| | | | and SIGIO signals quickly increase delay to the level when SIGKILL is sent
* style fixIgor Sysoev2009-08-26
|
* fix typoIgor Sysoev2009-08-26
|
* *) share temporary number between workersIgor Sysoev2009-08-21
| | | | *) randomize collision offset
* fix debug point for left open socketsIgor Sysoev2009-08-13
|
* delete mistaken sleep in the previous commitIgor Sysoev2009-08-10
|
* cache loader processIgor Sysoev2009-08-10
|
* introduce NGX_PROCESS_JUST_SPAWN and change field name accordinglyIgor Sysoev2009-08-10
|
* introduce cache manager instead of cache cleanerIgor Sysoev2009-03-30
|
* a prelimiary proxy cache supportIgor Sysoev2009-03-23
|
* fix messageIgor Sysoev2009-02-23
|