Fixed double close of non-regular files in flv and mp4.
With introduction of open_file_cache in 1454:f497ed7682a7, opening a file with ngx_open_cached_file() automatically adds a cleanup handler to close the file. As such, calling ngx_close_file() directly for non-regular files is no longer needed and will result in duplicate close() call. In 1454:f497ed7682a7 ngx_close_file() call for non-regular files was removed in the static module, but wasn't in the flv module. And the resulting incorrect code was later copied to the mp4 module. Fix is to remove the ngx_close_file() call from both modules. Reported by Chris Newton.
This commit is contained in:
parent
2e94c81b0b
commit
b138e26395
@ -156,12 +156,6 @@ ngx_http_flv_handler(ngx_http_request_t *r)
|
||||
}
|
||||
|
||||
if (!of.is_file) {
|
||||
|
||||
if (ngx_close_file(of.fd) == NGX_FILE_ERROR) {
|
||||
ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
|
||||
ngx_close_file_n " \"%s\" failed", path.data);
|
||||
}
|
||||
|
||||
return NGX_DECLINED;
|
||||
}
|
||||
|
||||
|
@ -521,12 +521,6 @@ ngx_http_mp4_handler(ngx_http_request_t *r)
|
||||
}
|
||||
|
||||
if (!of.is_file) {
|
||||
|
||||
if (ngx_close_file(of.fd) == NGX_FILE_ERROR) {
|
||||
ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
|
||||
ngx_close_file_n " \"%s\" failed", path.data);
|
||||
}
|
||||
|
||||
return NGX_DECLINED;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user