Commit d6a3e37b authored by Wayne Davison's avatar Wayne Davison

If rsync is put in the background, output fewer progress-report

lines.
parent 8261047b
......@@ -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 && HAVE_TCGETPGRP
static pid_t pgrp = -1;
pid_t tc_pgrp;
#endif
if (am_server)
return;
#if HAVE_GETPGRP && HAVE_TCGETPGRP
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 && HAVE_TCGETPGRP
tc_pgrp = tcgetpgrp(STDOUT_FILENO);
if (tc_pgrp != pgrp && tc_pgrp != -1)
return;
#endif
rprint_progress(ofs, size, &now, False);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment