Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
8261047
)
If rsync is put in the background, output fewer progress-report
author
Wayne Davison
<wayned@samba.org>
Tue, 25 Jan 2005 17:16:13 +0000
(17:16 +0000)
committer
Wayne Davison
<wayned@samba.org>
Tue, 25 Jan 2005 17:16:13 +0000
(17:16 +0000)
lines.
progress.c
patch
|
blob
|
blame
|
history
diff --git
a/progress.c
b/progress.c
index
da1682d
..
0cb5060
100644
(file)
--- a/
progress.c
+++ b/
progress.c
@@
-115,10
+115,24
@@
void end_progress(OFF_T size)
void show_progress(OFF_T ofs, OFF_T size)
{
struct timeval now;
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 (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) {
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;
}
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);
}