summaryrefslogtreecommitdiffhomepage
path: root/src/event (follow)
AgeCommit message (Collapse)AuthorFilesLines
2011-09-20Fixed loss of chain links in ngx_event_pipe_read_upstream().Maxim Dounin1-0/+1
2011-09-20Fix of cpu hog in event pipe.Maxim Dounin1-2/+2
If client closed connection in ngx_event_pipe_write_to_downstream(), buffers in the "out" chain were lost. This caused cpu hog if all available buffers were in the "out" chain. Fix is to call ngx_chain_update_chains() before checking return code of output filter to avoid loosing buffers in the "out" chain. Note that this situation (all available buffers in the "out" chain) isn't normal, it should be prevented by busy buffers limit. Though right now it may happen with complex protocols like fastcgi. This should be addressed separately.
2011-09-20The "worker_aio_requests" directive.Igor Sysoev1-3/+13
The default value is 32 AIO simultaneous requests per worker. Previously they were hardcoded to 1024, and it was too large, since Linux allocated them early on io_setup(), but not on request itself. So with default value of /proc/sys/fs/aio-max-nr equal to 65536 only 64 worker processes could be run simultaneously. 32 AIO requests are enough for modern disks even if server runs only 1 worker.
2011-09-19Replaced "can not" with "cannot" and "could not" in a bunch of places.Ruslan Ermilov2-6/+6
Fixed nearby grammar errors.
2011-09-16Fixing Linux AIO initiatialization: AIO operations are disabled if kernelIgor Sysoev1-47/+82
does not support them. Previously worker just exited.
2011-09-16Fixing Linux AIO syscalls return value handling:Igor Sysoev1-10/+11
syscall(2) uses usual libc convention, it returns -1 on error and sets errno. Obsolete _syscall(2) returns negative value of error. Thanks to Hagai Avrahami.
2011-09-15Upstream: pipe length and input_filter_init in buffered mode.Maxim Dounin2-0/+30
As long as ngx_event_pipe() has more data read from upstream than specified in p->length it's passed to input filter even if buffer isn't yet full. This allows to process data with known length without relying on connection close to signal data end. By default p->length is set to -1 in upstream module, i.e. end of data is indicated by connection close. To set it from per-protocol handlers upstream input_filter_init() now called in buffered mode (as well as in unbuffered mode).
2011-09-15API change: ngx_chain_update_chains() now requires pool.Maxim Dounin1-1/+1
The ngx_chain_update_chains() needs pool to free chain links used for buffers with non-matching tags. Providing one helps to reduce memory consumption for long-lived requests.
2011-09-01Proper setting of read->eof in pipe code.Maxim Dounin1-1/+1
Setting read->eof to 0 seems to be just a typo. It appeared in nginx-0.0.1-2003-10-28-18:45:41 import (r164), while identical code in ngx_recv.c introduced in the same import do actually set read->eof to 1. Failure to set read->eof to 1 results in EOF not being generally detectable from connection flags. On the other hand, kqueue won't report any read events on such a connection since we use EV_CLEAR. This resulted in read timeouts if such connection was cached and used for another request.
2011-09-01Proper SSL shutdown handling.Maxim Dounin1-0/+5
If connection has unsent alerts, SSL_shutdown() tries to send them even if SSL_set_shutdown(SSL_RECEIVED_SHUTDOWN|SSL_SENT_SHUTDOWN) was used. This can be prevented by SSL_set_quiet_shutdown(). SSL_set_shutdown() is required nevertheless to preserve session.
2011-08-04A new fix for the case when ssl_session_cache defined, but ssl is notIgor Sysoev2-5/+3
enabled in any server. The previous r1033 does not help when unused zone becomes used after reconfiguration, so it is backed out. The initial thought was to make SSL modules independed from SSL implementation and to keep OpenSSL code dependance as much as in separate files.
2011-07-22fix SSL connection issues on platforms with 32-bit off_tIgor Sysoev1-3/+3
patch by Maxim Dounin
2011-07-22fix build by gcc46 with -Wunused-value optionIgor Sysoev1-3/+7
patch by Maxim Dounin
2011-07-20ECDHE supportIgor Sysoev2-0/+40
patch by Adrian Kotelba
2011-07-20MSIE export versions are rare now, so RSA 512 key is generated on demandIgor Sysoev2-19/+9
and is shared among all hosts instead of pregenerating for every HTTPS host on configuraiton phase. This decreases start time for configuration with large number of HTTPS hosts.
2011-05-10use POSIX semaphores in shmtx instead of sched_yield()Igor Sysoev1-0/+1
number of spinlock spins are increased twice
2011-04-23fix building by gcc 4.6 without --with-debugIgor Sysoev1-10/+3
2011-01-20fix building on Fedora 14Igor Sysoev1-1/+1
patch by Kirill A. Korinskiy
2010-12-06remove SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG becuase of CVE-2010-4180Igor Sysoev1-1/+0
2010-12-02fix building by msvc8 introduced by the previous commitIgor Sysoev1-3/+5
2010-12-02fallback to accept() if accept4() is not implemented,Igor Sysoev1-2/+21
the issue has been introduced in r3787
2010-11-25Linux accept4() supportIgor Sysoev1-0/+4
2010-07-29decrease SSL handshake error level to infoIgor Sysoev1-1/+2
2010-05-14ngx_str_set() and ngx_str_null()Igor Sysoev1-7/+3
2010-04-01MSVC8 compatibility with OpenSSL 1.0.0Igor Sysoev1-0/+3
2010-03-25*) introduce ngx_time_sigsafe_update() to update the error log time onlyIgor Sysoev9-15/+15
*) change ngx_time_update() interface
2010-03-13*) use previously cached GMT offset value to update time from a signal handlerIgor Sysoev9-15/+15
*) change ngx_time_update() interface since there are no notification methods those return time
2010-03-12do not update time in the timer signal handler,Igor Sysoev6-7/+5
since localtime_r() is not Async-Signal-Safe function
2010-03-03add OpenSSL_add_all_algorithms(), this fixes the errorIgor Sysoev2-0/+4
"ASN1_item_verify:unknown message digest algorithm" occurred if client certificate is signed using sha256WithRSAEncryption
2010-03-02Set SSL session context for "ssl_session_cache none".Igor Sysoev1-2/+2
This fixes a bug when client certficate is used and nginx closes connection with the message: "SSL_GET_PREV_SESSION:session id context uninitialized".
2010-02-19decrease SSL handshake error level to infoIgor Sysoev1-0/+4
2009-11-25update commentsIgor Sysoev1-9/+4
2009-11-23add NGX_PROCESS_HELPER process statusIgor Sysoev3-3/+3
2009-11-23decrease SSL handshake error level to infoIgor Sysoev1-0/+1
2009-11-11disable SSL renegotiation (CVE-2009-3555)Igor Sysoev2-0/+41
2009-11-03fix segfault in SSL if limit_rate is usedIgor Sysoev1-3/+2
2009-11-02proxy_bind, fastcgi_bind, and memcached_bindIgor Sysoev2-19/+26
2009-11-02style fixIgor Sysoev1-1/+0
2009-11-01delete unused field c->local_socklenIgor Sysoev2-2/+2
2009-10-26http listen unix domain socketsIgor Sysoev1-0/+11
2009-09-24fix r3155Igor Sysoev1-1/+1
2009-09-24fix debug log messageIgor Sysoev1-3/+3
2009-09-24$ssl_session_idIgor Sysoev2-0/+36
2009-08-30aio sendfileIgor Sysoev1-0/+4
2009-08-28FreeBSD and Linux AIO supportIgor Sysoev3-4/+265
2009-08-26axe r->connection->destroyed testingIgor Sysoev1-12/+0
2009-08-25*) move small declarations in appropriate places and delete the surplusIgor Sysoev4-25/+2
header files *) delete insignificant comments
2009-08-25style fixIgor Sysoev7-32/+6
2009-08-21*) share temporary number between workersIgor Sysoev1-13/+21
*) randomize collision offset
2009-07-27fix memory corruption in $ssl_client_certIgor Sysoev1-1/+1