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) ...@@ -115,10 +115,24 @@ void end_progress(OFF_T size)
void show_progress(OFF_T ofs, OFF_T size) void show_progress(OFF_T ofs, OFF_T size)
{ {
struct timeval now; struct timeval now;
#if HAVE_GETPGRP && HAVE_TCGETPGRP
static pid_t pgrp = -1;
pid_t tc_pgrp;
#endif
if (am_server) if (am_server)
return; return;
#if HAVE_GETPGRP && HAVE_TCGETPGRP
if (pgrp == -1) {
# if GETPGRP_VOID
pgrp = getpgrp();
# else
pgrp = getpgrp(0);
# endif
}
#endif
gettimeofday(&now, NULL); gettimeofday(&now, NULL);
if (!ph_start.time.tv_sec) { if (!ph_start.time.tv_sec) {
...@@ -150,5 +164,11 @@ void show_progress(OFF_T ofs, OFF_T size) ...@@ -150,5 +164,11 @@ void show_progress(OFF_T ofs, OFF_T size)
ph_list[newest_hpos].ofs = ofs; 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); 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