mirror of
https://github.com/nginx/nginx.git
synced 2025-06-12 21:52:41 +08:00
Core: close PID file when writing fails.
Reported by Jinhua Tan.
This commit is contained in:
parent
5cef7de7a1
commit
80daef96f1
@ -1009,6 +1009,7 @@ ngx_int_t
|
|||||||
ngx_create_pidfile(ngx_str_t *name, ngx_log_t *log)
|
ngx_create_pidfile(ngx_str_t *name, ngx_log_t *log)
|
||||||
{
|
{
|
||||||
size_t len;
|
size_t len;
|
||||||
|
ngx_int_t rc;
|
||||||
ngx_uint_t create;
|
ngx_uint_t create;
|
||||||
ngx_file_t file;
|
ngx_file_t file;
|
||||||
u_char pid[NGX_INT64_LEN + 2];
|
u_char pid[NGX_INT64_LEN + 2];
|
||||||
@ -1033,11 +1034,13 @@ ngx_create_pidfile(ngx_str_t *name, ngx_log_t *log)
|
|||||||
return NGX_ERROR;
|
return NGX_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rc = NGX_OK;
|
||||||
|
|
||||||
if (!ngx_test_config) {
|
if (!ngx_test_config) {
|
||||||
len = ngx_snprintf(pid, NGX_INT64_LEN + 2, "%P%N", ngx_pid) - pid;
|
len = ngx_snprintf(pid, NGX_INT64_LEN + 2, "%P%N", ngx_pid) - pid;
|
||||||
|
|
||||||
if (ngx_write_file(&file, pid, len, 0) == NGX_ERROR) {
|
if (ngx_write_file(&file, pid, len, 0) == NGX_ERROR) {
|
||||||
return NGX_ERROR;
|
rc = NGX_ERROR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1046,7 +1049,7 @@ ngx_create_pidfile(ngx_str_t *name, ngx_log_t *log)
|
|||||||
ngx_close_file_n " \"%s\" failed", file.name.data);
|
ngx_close_file_n " \"%s\" failed", file.name.data);
|
||||||
}
|
}
|
||||||
|
|
||||||
return NGX_OK;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user