mirror of
https://github.com/RsyncProject/rsync.git
synced 2026-10-20 12:54:15 -04:00
If rsync is put in the background, output fewer progress-report
lines.
This commit is contained in:
1 parent
8261047b1e
commit
d6a3e37b83
1 file changed
+20
+20
@@ -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