comparison src/http/modules/ngx_http_flv_module.c @ 356:b743d290eb3b NGINX_0_6_22

nginx 0.6.22 *) Change: now all ngx_http_perl_module methods return values copied to perl's allocated memory. *) Bugfix: if nginx was built with ngx_http_perl_module, the perl before 5.8.6 was used, and perl supported threads, then during reconfiguration the master process aborted; bug appeared in 0.5.9. Thanks to Boris Zhmurov. *) Bugfix: the ngx_http_perl_module methods may get invalid values of the regex captures. *) Bugfix: a segmentation fault occurred in worker process, if the $r->has_request_body() method was called for a request whose small request body was already received. *) Bugfix: large_client_header_buffers did not freed before going to keep-alive state. Thanks to Olexander Shtepa. *) Bugfix: the last address was missed in the $upstream_addr variable; bug appeared in 0.6.18. *) Bugfix: the "fastcgi_catch_stderr" directive did return error code; now it returns 502 code, that can be rerouted to a next server using the "fastcgi_next_upstream invalid_header" directive. *) Bugfix: a segmentation fault occurred in master process if the "fastcgi_catch_stderr" directive was used; bug appeared in 0.6.10. Thanks to Manlio Perillo.
author Igor Sysoev <http://sysoev.ru>
date Wed, 19 Dec 2007 00:00:00 +0300
parents 10cc350ed8a1
children 9121a0a91f47
comparison
equal deleted inserted replaced
355:3ac45897a61c 356:b743d290eb3b
61 ngx_http_flv_handler(ngx_http_request_t *r) 61 ngx_http_flv_handler(ngx_http_request_t *r)
62 { 62 {
63 u_char *p, *last; 63 u_char *p, *last;
64 off_t start, len; 64 off_t start, len;
65 size_t root; 65 size_t root;
66 ngx_fd_t fd;
67 ngx_int_t rc; 66 ngx_int_t rc;
68 ngx_uint_t level, i; 67 ngx_uint_t level, i;
69 ngx_str_t path; 68 ngx_str_t path;
70 ngx_log_t *log; 69 ngx_log_t *log;
71 ngx_buf_t *b; 70 ngx_buf_t *b;
147 } 146 }
148 147
149 return rc; 148 return rc;
150 } 149 }
151 150
152 fd = of.fd;
153
154 if (!of.is_file) { 151 if (!of.is_file) {
155 152
156 if (ngx_close_file(fd) == NGX_FILE_ERROR) { 153 if (ngx_close_file(of.fd) == NGX_FILE_ERROR) {
157 ngx_log_error(NGX_LOG_ALERT, log, ngx_errno, 154 ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
158 ngx_close_file_n " \"%s\" failed", path.data); 155 ngx_close_file_n " \"%s\" failed", path.data);
159 } 156 }
160 157
161 return NGX_DECLINED; 158 return NGX_DECLINED;
233 230
234 b->in_file = b->file_last ? 1: 0; 231 b->in_file = b->file_last ? 1: 0;
235 b->last_buf = 1; 232 b->last_buf = 1;
236 b->last_in_chain = 1; 233 b->last_in_chain = 1;
237 234
238 b->file->fd = fd; 235 b->file->fd = of.fd;
239 b->file->name = path; 236 b->file->name = path;
240 b->file->log = log; 237 b->file->log = log;
241 238
242 out[1].buf = b; 239 out[1].buf = b;
243 out[1].next = NULL; 240 out[1].next = NULL;