mirror of
https://github.com/RsyncProject/rsync.git
synced 2026-03-02 05:18:50 -05:00
If rsync is put in the background, output fewer progress-report
lines.
This commit is contained in:
20
progress.c
20
progress.c
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user