nginx-0.0.9-2004-07-28-20:16:50 import

This commit is contained in:
Igor Sysoev 2004-07-28 16:16:50 +00:00
parent 89568f3373
commit fbbe499319
5 changed files with 24 additions and 17 deletions

View file

@ -73,6 +73,13 @@ ngx_int_t ngx_output_chain(ngx_output_chain_ctx_t *ctx, ngx_chain_t *in)
continue;
}
bsize = ngx_buf_size(ctx->in->buf);
if (bsize == 0) {
ctx->in = ctx->in->next;
continue;
}
if (ctx->buf == NULL) {
/* get the free buf */
@ -91,8 +98,6 @@ ngx_int_t ngx_output_chain(ngx_output_chain_ctx_t *ctx, ngx_chain_t *in)
if (ctx->in->buf->last_buf) {
bsize = ngx_buf_size(ctx->in->buf);
if (bsize < ctx->bufs.size) {
/*

View file

@ -626,20 +626,20 @@ static ngx_int_t ngx_rtsig_process_overflow(ngx_cycle_t *cycle)
cycle->log, 0,
"poll() failed while the overflow recover");
if (err != NGX_EINTR) {
break;
if (err == NGX_EINTR) {
continue;
}
}
break;
}
if (ready <= 0) {
continue;
}
if (n) {
if (ngx_mutex_lock(ngx_posted_events_mutex) == NGX_ERROR) {
return NGX_ERROR;
}
if (ngx_mutex_lock(ngx_posted_events_mutex) == NGX_ERROR) {
return NGX_ERROR;
}
for (i = 0; i < n; i++) {
@ -686,9 +686,7 @@ static ngx_int_t ngx_rtsig_process_overflow(ngx_cycle_t *cycle)
}
}
if (n) {
ngx_mutex_unlock(ngx_posted_events_mutex);
}
ngx_mutex_unlock(ngx_posted_events_mutex);
if (tested >= rtscf->overflow_test) {
@ -723,7 +721,7 @@ static ngx_int_t ngx_rtsig_process_overflow(ngx_cycle_t *cycle)
}
/*
* drain rt signal queue if the /proc/sys/kernel/rtsig-nr
* drain the rt signal queue if the /proc/sys/kernel/rtsig-nr
* is bigger than
* /proc/sys/kernel/rtsig-max / rtsig_overflow_threshold
*/
@ -741,7 +739,7 @@ static ngx_int_t ngx_rtsig_process_overflow(ngx_cycle_t *cycle)
/*
* Linux has not KERN_RTSIGMAX since 2.6.6-mm2
* so drain rt signal queue unconditionally
* so drain the rt signal queue unconditionally
*/
while (ngx_rtsig_process_events(cycle) == NGX_OK) { /* void */ }

View file

@ -40,7 +40,7 @@ ngx_module_t ngx_http_write_filter_module = {
ngx_int_t ngx_http_write_filter(ngx_http_request_t *r, ngx_chain_t *in)
{
int last;
off_t size, flush, sent;
off_t size, flush, sent, bsize;
ngx_chain_t *cl, *ln, **ll, *chain;
ngx_connection_t *c;
ngx_http_core_loc_conf_t *clcf;
@ -82,7 +82,13 @@ ngx_int_t ngx_http_write_filter(ngx_http_request_t *r, ngx_chain_t *in)
*ll = cl;
ll = &cl->next;
size += ngx_buf_size(cl->buf);
bsize = ngx_buf_size(cl->buf);
if (bsize == 0 && cl->buf->in_file) {
cl->buf->in_file = 0;
}
size += bsize;
if (cl->buf->flush || cl->buf->recycled) {
flush = size;

View file

@ -120,7 +120,6 @@ ngx_chain_t *ngx_freebsd_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in,
if (cl && cl->buf->in_file && send < limit) {
file = cl->buf;
fsize = 0;
/* coalesce the neighbouring file bufs */

View file

@ -127,7 +127,6 @@ ngx_chain_t *ngx_linux_sendfile_chain(ngx_connection_t *c, ngx_chain_t *in,
if (header.nelts == 0 && cl && cl->buf->in_file && send < limit) {
file = cl->buf;
fsize = 0;
/* coalesce the neighbouring file bufs */