Mercurial > hg > nginx-vendor-0-8
diff src/event/ngx_event_openssl.c @ 146:36af50a5582d NGINX_0_3_20
nginx 0.3.20
*) Bugfix: in SSI handling.
*) Bugfix: the ngx_http_memcached_module did not support the keys in
the "/usr?args" form.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 11 Jan 2006 00:00:00 +0300 |
parents | 55a211e5eeb7 |
children | 73e8476f9142 |
line wrap: on
line diff
--- a/src/event/ngx_event_openssl.c +++ b/src/event/ngx_event_openssl.c @@ -592,7 +592,9 @@ ngx_ssl_send_chain(ngx_connection_t *c, ssize_t send, size; ngx_buf_t *buf; - if (!c->ssl->buffer || (in && in->next == NULL && !c->buffered)) { + if (!c->ssl->buffer + || (in && in->next == NULL && !(c->buffered & NGX_SSL_BUFFERED))) + { /* * we avoid a buffer copy if @@ -613,7 +615,7 @@ ngx_ssl_send_chain(ngx_connection_t *c, } if (n == NGX_AGAIN) { - c->buffered = 1; + c->buffered |= NGX_SSL_BUFFERED; return in; } @@ -689,7 +691,7 @@ ngx_ssl_send_chain(ngx_connection_t *c, } if (n == NGX_AGAIN) { - c->buffered = 1; + c->buffered |= NGX_SSL_BUFFERED; return in; } @@ -711,7 +713,12 @@ ngx_ssl_send_chain(ngx_connection_t *c, } } - c->buffered = (buf->pos < buf->last) ? 1 : 0; + if (buf->pos < buf->last) { + c->buffered |= NGX_SSL_BUFFERED; + + } else { + c->buffered &= ~NGX_SSL_BUFFERED; + } return in; }