Hi,
I've implemented fix for bug #45790. Basically I used approach
Noel showed in comment.
Please check below diff if it's sane.
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
Thanks
Piotr