--- progress.c 28 Feb 2004 02:00:57 -0000 1.8 +++ progress.c 14 Dec 2004 18:56:27 -0000 @@ -115,10 +115,24 @@ void end_progress(OFF_T size) void show_progress(OFF_T ofs, OFF_T size) { struct timeval now; +#if HAVE_GETPGRP + static pid_t pgrp = -1; + pid_t current_pgrp; +#endif if (am_server) return; +#if HAVE_GETPGRP + if (pgrp == -1) { +# if GETPGRP_VOID + pgrp = getpgrp(); +# else + pgrp = getpgrp(0); +# endif + } +#endif + gettimeofday(&now, NULL); if (!ph_start.time.tv_sec) { @@ -150,5 +164,11 @@ void show_progress(OFF_T ofs, OFF_T size ph_list[newest_hpos].ofs = ofs; } +#if HAVE_GETPGRP + current_pgrp = tcgetpgrp(STDOUT_FILENO); + if (current_pgrp != pgrp && current_pgrp != -1) + return; +#endif + rprint_progress(ofs, size, &now, False); }