summaryrefslogtreecommitdiffhomepage
path: root/src/os/unix/ngx_process_cycle.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2012-12-10Merge of r4918: cache manager startup with many listen sockets.Maxim Dounin1-4/+9
Fixed failure to start cache manager and cache loader processes if there were more than 512 listening sockets in configuration.
2012-12-10Merge of r4913: fixed CPU affinity on respawn of dead workers.Maxim Dounin1-14/+16
Worker processes are now made aware of their sequential number needed to select CPU affinity mask. This replaces a workaround from r4865.
2012-11-12Merge of r4870, r4871, r4890, r4895: minor fixes.Maxim Dounin1-6/+6
*) Made sure to initialize the entire ngx_file_t structure. Found by Coverity. *) Correct plural form for "path" in the whole source base. *) Removed conditional compilation from waitpid() error test. There are reports that call to a signal handler for an exited process despite waitpid() already called for the process may happen on Linux as well. *) Style, parentheses instead of braces in misc/GNUMakefile.
2012-11-12Merge of r4865: clearing of cpu_affinity after process spawn.Maxim Dounin1-0/+2
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.
2012-07-02Merge of r4654, r4672, r4684, r4685, r4692: resolver changes.Maxim Dounin1-0/+4
*) Resolver: fixed format specification. Patch by Yichun Zhang (agentzh). *) Support for IPv6 literals and an optional port in resolver. *) Fixed crash in ngx_resolver_cleanup_tree(). If sending a DNS request fails with an error (e.g., when mistakenly trying to send it to a local IP broadcast), such a request is not deleted if there are clients waiting on it. However, it was still erroneously removed from the queue. Later ngx_resolver_cleanup_tree() attempted to remove it from the queue again that resulted in a NULL pointer dereference. *) When "resolver" is configured with a domain name, only the first resolved address was used. Now all addresses will be used. *) Fixed segfault with poll and resolver used. 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.
2012-03-21worker_cpu_affinity: cleaned up Linux implementation, added FreeBSD support.Ruslan Ermilov1-15/+2
2012-02-28Added msleep() on reload to allow new processes to start.Maxim Dounin1-0/+4
This is expected to ensure smoother operation on reload (and with less chance of listen queue overflows). Prodded by Igor Sysoev.
2012-01-18Copyright updated.Maxim Konovalov1-0/+1
2012-01-16Fixed sched_setaffinity(2) to correctly pass size.Maxim Dounin1-1/+4
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.
2011-09-19Replaced "can not" with "cannot" and "could not" in a bunch of places.Ruslan Ermilov1-1/+2
Fixed nearby grammar errors.
2010-12-13allow "env" to work in the single process modeIgor Sysoev1-0/+5
2010-09-15worker_rlimit_core should be off_tIgor Sysoev1-2/+2
2010-03-25*) introduce ngx_time_sigsafe_update() to update the error log time onlyIgor Sysoev1-3/+3
*) change ngx_time_update() interface
2010-03-13*) use previously cached GMT offset value to update time from a signal handlerIgor Sysoev1-3/+3
*) change ngx_time_update() interface since there are no notification methods those return time
2009-11-23add NGX_PROCESS_HELPER process statusIgor Sysoev1-2/+4
2009-11-11fix building without --with-debug, introduced in r3294Igor Sysoev1-1/+1
2009-11-04Fix a bug introduced in r2032: After a child process has read a terminateIgor Sysoev1-2/+12
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.
2009-10-26http listen unix domain socketsIgor Sysoev1-0/+2
2009-08-26twice termination delay only after SIGALRM, otherwise many separate SIGCHLDIgor Sysoev1-1/+5
and SIGIO signals quickly increase delay to the level when SIGKILL is sent
2009-08-26style fixIgor Sysoev1-2/+1
2009-08-26fix typoIgor Sysoev1-1/+1
2009-08-21*) share temporary number between workersIgor Sysoev1-4/+0
*) randomize collision offset
2009-08-13fix debug point for left open socketsIgor Sysoev1-3/+4
2009-08-10delete mistaken sleep in the previous commitIgor Sysoev1-2/+0
2009-08-10cache loader processIgor Sysoev1-61/+96
2009-08-10introduce NGX_PROCESS_JUST_SPAWN and change field name accordinglyIgor Sysoev1-4/+4
2009-03-30introduce cache manager instead of cache cleanerIgor Sysoev1-17/+17
2009-03-23a prelimiary proxy cache supportIgor Sysoev1-40/+66
2009-02-23fix messageIgor Sysoev1-1/+1
2008-06-17*) back out r2040Igor Sysoev1-1/+1
*) refactor ngx_palloc() *) introduce ngx_pnalloc() *) additional pool blocks have smaller header
2008-05-25read channel until EAGAINIgor Sysoev1-43/+47
2008-02-28left open sockets were not really testedIgor Sysoev1-5/+5
2008-02-19avoid endless loop if epoll is usedIgor Sysoev1-0/+5
2007-12-10move condition declarations inside blocks where they are usedIgor Sysoev1-6/+5
2007-10-18Cygwin can not pass SCM_RIGHTS via unix socket, use signalsIgor Sysoev1-0/+8
2007-10-16fix building broken in r1578Igor Sysoev1-1/+0
2007-10-16delete code that should be deleted in r1576Igor Sysoev1-10/+0
2007-10-16avoid segfault if poll is used and endless loop if select is usedIgor Sysoev1-1/+1
2007-10-14fix English grammarIgor Sysoev1-4/+4
2007-08-30destroy ngx_cycle->pool on exitIgor Sysoev1-8/+31
2007-08-15set worker_priority, worker_rlimit_nofile, worker_rlimit_core, andIgor Sysoev1-31/+31
worker_rlimit_sigpending without super-user privileges testing
2007-03-19close keep-alive connections in the shuting down processesIgor Sysoev1-5/+22
2007-03-07worker processes did not exit after reconfiguration andIgor Sysoev1-0/+6
did not rotate logs if eventport was used
2007-03-06style fixIgor Sysoev1-4/+6
2007-03-06style fixIgor Sysoev1-1/+2
2007-01-20envIgor Sysoev1-6/+11
2006-12-24worker_rlimit_core supports size in K, M, and GIgor Sysoev1-1/+1
2005-12-16nginx-0.3.16-RELEASE importrelease-0.3.16Igor Sysoev1-0/+11
*) Feature: the ngx_http_map_module. *) Feature: the "types_hash_max_size" and "types_hash_bucket_size" directives. *) Feature: the "ssi_value_length" directive. *) Feature: the "worker_rlimit_core" directive. *) Workaround: the connection number in logs was always 1 if nginx was built by the icc 8.1 or 9.0 compilers with optimization for Pentium 4. *) Bugfix: the "config timefmt" SSI command set incorrect time format. *) Bugfix: nginx did not close connection to IMAP/POP3 backend for the SSL connections; the bug had appeared in 0.3.13. Thanks to Rob Mueller. *) Bugfix: segmentation fault may occurred in at SSL shutdown; the bug had appeared in 0.3.13.
2005-12-07nginx-0.3.15-RELEASE importrelease-0.3.15Igor Sysoev1-15/+17
*) Feature: the new 444 code of the "return" directive to close connection. *) Feature: the "so_keepalive" directive in IMAP/POP3 proxy. *) Bugfix: if there are unclosed connection nginx now calls abort() only on gracefull quit and active "debug_points" directive.
2005-11-15nginx-0.3.10-RELEASE importrelease-0.3.10Igor Sysoev1-11/+29
*) Change: the "valid_referers" directive and the "$invalid_referer" variable were moved to the new ngx_http_referer_module from the ngx_http_rewrite_module. *) Change: the "$apache_bytes_sent" variable name was changed to "$body_bytes_sent". *) Feature: the "$sent_http_..." variables. *) Feature: the "if" directive supports the "=" and "!=" operations. *) Feature: the "proxy_pass" directive supports the HTTPS protocol. *) Feature: the "proxy_set_body" directive. *) Feature: the "post_action" directive. *) Feature: the ngx_http_empty_gif_module. *) Feature: the "worker_cpu_affinity" directive for Linux. *) Bugfix: the "rewrite" directive did not unescape URI part in redirect, now it is unescaped except the %00-%25 and %7F-%FF characters. *) Bugfix: nginx could not be built by the icc 9.0 compiler. *) Bugfix: if the SSI was enabled for zero size static file, then the chunked response was encoded incorrectly.