77 lines
2.1 KiB
Diff
77 lines
2.1 KiB
Diff
|
From c722973212547aa812cd818279e3fb989fb38dd4 Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Tim=20R=C3=BChsen?= <tim.ruehsen@gmx.de>
|
||
|
Date: Wed, 7 Feb 2018 22:33:06 +0100
|
||
|
Subject: [PATCH] Fix logging in background mode
|
||
|
MIME-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
|
||
|
* ../src/main.c: Re-init logfile if changed for background mode
|
||
|
* ../src/utils.c: fork_to_background() returns whether logfile changed
|
||
|
* ../src/utils.h: Set return type bool for fork_to_background()
|
||
|
|
||
|
Fixes: #53020
|
||
|
Reported-by: Noël Köthe
|
||
|
---
|
||
|
src/main.c | 7 ++++++-
|
||
|
src/utils.c | 4 +++-
|
||
|
src/utils.h | 2 +-
|
||
|
3 files changed, 10 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git src/main.c src/main.c
|
||
|
index 0ffd551a..5430e7ce 100644
|
||
|
--- src/main.c
|
||
|
+++ src/main.c
|
||
|
@@ -1880,7 +1880,12 @@ for details.\n\n"));
|
||
|
sock_init();
|
||
|
#else
|
||
|
if (opt.background)
|
||
|
- fork_to_background ();
|
||
|
+ {
|
||
|
+ bool logfile_changed = fork_to_background ();
|
||
|
+
|
||
|
+ if (logfile_changed)
|
||
|
+ log_init (opt.lfilename, append_to_log);
|
||
|
+ }
|
||
|
#endif
|
||
|
|
||
|
/* Initialize progress. Have to do this after the options are
|
||
|
diff --git src/utils.c src/utils.c
|
||
|
index 6f41fabe..2d265c11 100644
|
||
|
--- src/utils.c
|
||
|
+++ src/utils.c
|
||
|
@@ -469,7 +469,7 @@ fork_to_background (void)
|
||
|
#else /* def __VMS */
|
||
|
|
||
|
#if !defined(WINDOWS) && !defined(MSDOS)
|
||
|
-void
|
||
|
+bool
|
||
|
fork_to_background (void)
|
||
|
{
|
||
|
pid_t pid;
|
||
|
@@ -514,6 +514,8 @@ fork_to_background (void)
|
||
|
DEBUGP (("Failed to redirect stdout to /dev/null.\n"));
|
||
|
if (freopen ("/dev/null", "w", stderr) == NULL)
|
||
|
DEBUGP (("Failed to redirect stderr to /dev/null.\n"));
|
||
|
+
|
||
|
+ return logfile_changed;
|
||
|
}
|
||
|
#endif /* !WINDOWS && !MSDOS */
|
||
|
|
||
|
diff --git src/utils.h src/utils.h
|
||
|
index 66838f2c..26e2c28c 100644
|
||
|
--- src/utils.h
|
||
|
+++ src/utils.h
|
||
|
@@ -71,7 +71,7 @@ char *xstrdup_lower (const char *);
|
||
|
char *strdupdelim (const char *, const char *);
|
||
|
char **sepstring (const char *);
|
||
|
bool subdir_p (const char *, const char *);
|
||
|
-void fork_to_background (void);
|
||
|
+bool fork_to_background (void);
|
||
|
|
||
|
char *aprintf (const char *, ...) GCC_FORMAT_ATTR (1, 2);
|
||
|
char *concat_strings (const char *, ...);
|
||
|
--
|
||
|
2.16.1
|
||
|
|