comparison src/http/modules/ngx_http_ssi_filter_module.c @ 246:b52bd034c577 NGINX_0_4_8

nginx 0.4.8 *) Bugfix: if an "include" SSI command were before another "include" SSI command with an "wait" parameter, then the "wait" parameter might not work. *) Bugfix: the ngx_http_flv_module added the FLV header to the full responses. Thanks to Alexey Kovyrin.
author Igor Sysoev <http://sysoev.ru>
date Wed, 11 Oct 2006 00:00:00 +0400
parents 500a3242dff6
children acd2ec3541cb
comparison
equal deleted inserted replaced
245:d75dbd68f5b2 246:b52bd034c577
381 ngx_buf_t *b; 381 ngx_buf_t *b;
382 ngx_uint_t i, index; 382 ngx_uint_t i, index;
383 ngx_chain_t *cl, **ll; 383 ngx_chain_t *cl, **ll;
384 ngx_table_elt_t *param; 384 ngx_table_elt_t *param;
385 ngx_connection_t *c; 385 ngx_connection_t *c;
386 ngx_http_request_t *pr;
386 ngx_http_ssi_ctx_t *ctx, *mctx; 387 ngx_http_ssi_ctx_t *ctx, *mctx;
387 ngx_http_ssi_block_t *bl; 388 ngx_http_ssi_block_t *bl;
388 ngx_http_ssi_param_t *prm; 389 ngx_http_ssi_param_t *prm;
389 ngx_http_ssi_command_t *cmd; 390 ngx_http_ssi_command_t *cmd;
390 ngx_http_ssi_loc_conf_t *slcf; 391 ngx_http_ssi_loc_conf_t *slcf;
413 if (ctx->wait) { 414 if (ctx->wait) {
414 if (r->connection->data != r) { 415 if (r->connection->data != r) {
415 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, 416 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
416 "http ssi filter \"%V\" wait", &r->uri); 417 "http ssi filter \"%V\" wait", &r->uri);
417 return NGX_AGAIN; 418 return NGX_AGAIN;
419 }
420
421 for (pr = ctx->wait->parent; pr; pr = pr->parent) {
422 if (pr == r) {
423 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
424 "http ssi filter \"%V\" flush", &r->uri);
425
426 rc = ngx_http_next_body_filter(r, NULL);
427
428 if (ctx->wait->done) {
429 ctx->wait = NULL;
430 }
431
432 if (rc == NGX_ERROR || rc == NGX_AGAIN) {
433 return rc;
434 }
435 }
418 } 436 }
419 437
420 if (ctx->wait == r) { 438 if (ctx->wait == r) {
421 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, 439 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
422 "http ssi filter \"%V\" continue", &r->uri); 440 "http ssi filter \"%V\" continue", &r->uri);