]> git.kaiwu.me - nginx.git/commit
r2281 merge:
authorIgor Sysoev <igor@sysoev.ru>
Thu, 20 Nov 2008 17:20:15 +0000 (17:20 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Thu, 20 Nov 2008 17:20:15 +0000 (17:20 +0000)
commit3d87cb964c1388b41552c08358987df320943386
tree9b2d97624d5c2e1035fb76fe801165759da67bcd
parent6a01020f93507daacc186e1ec3b3e6a1f9439fdd
r2281 merge:

always use buffer, if connection is buffered,
this fixes OpenSSL "bad write retry" error, when
*) nginx passed a single buf greater than our buffer (say 32K) to OpenSSL,
*) OpenSSL returns SSL_ERROR_WANT_WRITE,
*) after some time nginx has to send a new data,
*) so there are at least two bufs nginx does pass them directly to OpenSSL,
*) but copies the first buf part to buffer, and sends the buffer to OpenSSL.
*) because the data length is lesser than it was in previous SSL_write():
   16K < 32K, OpenSSL returns SSL_R_BAD_WRITE_RETRY.
src/event/ngx_event_openssl.c