# HG changeset patch # User Bram Moolenaar # Date 1598801407 -7200 # Node ID d9acf1e1c7993be6254c129ba80e543e78789b5e # Parent bbca88cd13d5a14ad792b8282f4bb47f502e59c9 patch 8.2.1545: ch_logfile() is unclear about closing when forking Commit: https://github.com/vim/vim/commit/76603baac5a14445d0c41d7eb14144a07288d357 Author: Bram Moolenaar Date: Sun Aug 30 17:24:37 2020 +0200 patch 8.2.1545: ch_logfile() is unclear about closing when forking Problem: ch_logfile() is unclear about closing when forking. Solution: Adjust the log messages. diff --git a/src/channel.c b/src/channel.c --- a/src/channel.c +++ b/src/channel.c @@ -144,6 +144,7 @@ fd_close(sock_T fd) // Log file opened with ch_logfile(). static FILE *log_fd = NULL; +static char_u *log_name = NULL; #ifdef FEAT_RELTIME static proftime_T log_start; #endif @@ -158,7 +159,7 @@ ch_logfile(char_u *fname, char_u *opt) if (*fname != NUL) ch_log(NULL, "closing this logfile, opening %s", fname); else - ch_log(NULL, "closing logfile"); + ch_log(NULL, "closing logfile %s", log_name); fclose(log_fd); } @@ -170,6 +171,8 @@ ch_logfile(char_u *fname, char_u *opt) semsg(_(e_notopen), fname); return; } + vim_free(log_name); + log_name = vim_strsave(fname); } log_fd = file; diff --git a/src/os_unix.c b/src/os_unix.c --- a/src/os_unix.c +++ b/src/os_unix.c @@ -4683,8 +4683,10 @@ mch_call_shell_fork( # ifdef FEAT_JOB_CHANNEL if (ch_log_active()) - // close the log file in the child + { + ch_log(NULL, "closing channel log in the child process"); ch_logfile((char_u *)"", (char_u *)""); + } # endif if (!show_shell_mess || (options & SHELL_EXPAND)) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1545, +/**/ 1544, /**/ 1543,