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

lines.
This commit is contained in:
Wayne Davison
2005-01-25 17:16:13 +00:00
parent 8261047b1e
commit d6a3e37b83

View File

@@ -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);
}