Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- Changed the calling args to delete_file() to take an st_mode instead
[rsync/rsync.git]
/
progress.c
diff --git
a/progress.c
b/progress.c
index
da1682d
..
22e0955
100644
(file)
--- a/
progress.c
+++ b/
progress.c
@@
-26,6
+26,12
@@
extern int am_server;
#define PROGRESS_HISTORY_SECS 5
#define PROGRESS_HISTORY_SECS 5
+#ifdef GETPGRP_VOID
+#define GETPGRP_ARG
+#else
+#define GETPGRP_ARG 0
+#endif
+
struct progress_history {
struct timeval time;
OFF_T ofs;
struct progress_history {
struct timeval time;
OFF_T ofs;
@@
-115,10
+121,19
@@
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 defined HAVE_GETPGRP && defined HAVE_TCGETPGRP
+ static pid_t pgrp = -1;
+ pid_t tc_pgrp;
+#endif
if (am_server)
return;
if (am_server)
return;
+#if defined HAVE_GETPGRP && defined HAVE_TCGETPGRP
+ if (pgrp == -1)
+ pgrp = getpgrp(GETPGRP_ARG);
+#endif
+
gettimeofday(&now, NULL);
if (!ph_start.time.tv_sec) {
gettimeofday(&now, NULL);
if (!ph_start.time.tv_sec) {
@@
-150,5
+165,11
@@
void show_progress(OFF_T ofs, OFF_T size)
ph_list[newest_hpos].ofs = ofs;
}
ph_list[newest_hpos].ofs = ofs;
}
+#if defined HAVE_GETPGRP && defined 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);
}