Report the next directory being scanned when a ^T is pressed (or any
SIGINFO). Provides some progress report for the impatient. This won't report that we're blocking in our walk due to disk/network problems, however. There's no really good way to report that condition that I'm aware of...
This commit is contained in:
parent
09c8a4cc21
commit
d1588599c0
@ -77,10 +77,12 @@ static void prthumanval(int64_t);
|
||||
static void ignoreadd(const char *);
|
||||
static void ignoreclean(void);
|
||||
static int ignorep(FTSENT *);
|
||||
static void siginfo(int __unused);
|
||||
|
||||
static int nodumpflag = 0;
|
||||
static int Aflag;
|
||||
static long blocksize, cblocksize;
|
||||
static volatile sig_atomic_t info;
|
||||
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
@ -248,6 +250,8 @@ main(int argc, char *argv[])
|
||||
|
||||
rval = 0;
|
||||
|
||||
(void)signal(SIGINFO, siginfo);
|
||||
|
||||
if ((fts = fts_open(argv, ftsoptions, NULL)) == NULL)
|
||||
err(1, "fts_open");
|
||||
|
||||
@ -278,6 +282,10 @@ main(int argc, char *argv[])
|
||||
p->fts_path);
|
||||
}
|
||||
}
|
||||
if (info) {
|
||||
info = 0;
|
||||
(void)printf("\t%s\n", p->fts_path);
|
||||
}
|
||||
break;
|
||||
case FTS_DC: /* Ignore. */
|
||||
break;
|
||||
@ -531,3 +539,10 @@ ignorep(FTSENT *ent)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
siginfo(int sig __unused)
|
||||
{
|
||||
|
||||
info = 1;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user