>From f0ccb77460d4bd41b45de7d2ddb54294b91e9e3b Mon Sep 17 00:00:00 2001 From: ja Date: Sun, 18 Sep 2016 18:47:37 +0200 Subject: [PATCH] Don't print to stdout in background. --- src/main.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main.c b/src/main.c index ac6ee2c..f324253 100644 --- a/src/main.c +++ b/src/main.c @@ -113,7 +113,7 @@ int numurls = 0; setting up gettext's message catalog using bindtextdomain and textdomain. Does nothing if NLS is disabled or missing. */ -#if defined(SIGHUP) || defined(SIGUSR1) +#if defined(SIGHUP) || defined(SIGUSR1) || defined(SIGCONT) /* Hangup signal handler. When wget receives SIGHUP or SIGUSR1, it will proceed operation as usual, trying to write into a log file. If that is impossible, the output will be turned off. */ @@ -131,12 +131,20 @@ redirect_output_signal (int sig) if (sig == SIGUSR1) signal_name = "SIGUSR1"; #endif +#ifdef SIGCONT + if(sig == SIGCONT) { + /* If process goes to foreground, don't redirect output */ + if(getpgrp() == tcgetpgrp(STDOUT_FILENO)) + return; + signal_name = "SIGCONT"; + } +#endif log_request_redirect_output (signal_name); progress_schedule_redirect (); signal (sig, redirect_output_signal); } -#endif /* defined(SIGHUP) || defined(SIGUSR1) */ +#endif /* defined(SIGHUP) || defined(SIGUSR1) || defined(SIGCONT)*/ static void i18n_initialize (void) @@ -2003,6 +2011,9 @@ only if outputting to a regular file.\n")); #ifdef SIGUSR1 signal (SIGUSR1, redirect_output_signal); #endif +#ifdef SIGCONT + signal (SIGCONT, redirect_output_signal); +#endif #ifdef SIGPIPE /* Writing to a closed socket normally signals SIGPIPE, and the process exits. What we want is to ignore SIGPIPE and just check -- 1.7.9.5