Welcome! Log In Create A New Profile

Advanced

Re: Core: close pid file while writing it failed

Jim T
June 02, 2020 06:18AM
Hello, Maxim Dounin.

How about below patch, could you help me review it? And I found the problem
still exists in release-1.19.0, or do I miss anything?

---

Hello!

As far as I understand it, `ngx_create_pidfile` is a function that works
independently. There is no action to close the pid file externally, so we
need to close the pid file when the writing it failed. There are also
reports here https://github.com/nginx/nginx/pull/52.

# HG changeset patch
# User Jinhua Tan <312841925@qq.com>
# Date 1590068494 -28800
# Thu May 21 21:41:34 2020 +0800
# Node ID 6084ea4d9a4d2ae32f3fc4e2e3b9032ab0b71e30
# Parent 3242f98298975e556a7e87130611ce84799fe935
Core: close pid file while writing it failed.

diff -r 3242f9829897 -r 6084ea4d9a4d src/core/ngx_cycle.c
--- a/src/core/ngx_cycle.c Wed May 20 12:24:05 2020 +0800
+++ b/src/core/ngx_cycle.c Thu May 21 21:41:34 2020 +0800
@@ -1036,6 +1036,12 @@
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_close_file(file.fd) == NGX_FILE_ERROR) {
+ ngx_log_error(NGX_LOG_ALERT, log, ngx_errno,
+ ngx_close_file_n " \"%s\" failed",
file.name.data);
+ }
+
return NGX_ERROR;
}
}

Thank you!
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

Re: Core: close pid file while writing it failed

Jim T 375 June 02, 2020 06:18AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 170
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready