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:
Warner Losh 2009-04-30 01:24:53 +00:00
parent 09c8a4cc21
commit d1588599c0

View File

@ -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;
}