redraw() is heavy and distracting

This commit is contained in:
Arun Prakash Jana 2021-07-26 06:15:11 +05:30
parent 8cebc69e71
commit 6ba0a8357f
No known key found for this signature in database
GPG key ID: A75979F35C080412

View file

@ -5319,7 +5319,7 @@ static void *du_thread(void *p_data)
return NULL; return NULL;
} }
static void dirwalk(char *dir, char *path, int entnum, bool mountpoint) static void dirwalk(char *path, int entnum, bool mountpoint)
{ {
/* Loop till any core is free */ /* Loop till any core is free */
while (active_threads == NUM_DU_THREADS); while (active_threads == NUM_DU_THREADS);
@ -5343,8 +5343,9 @@ static void dirwalk(char *dir, char *path, int entnum, bool mountpoint)
pthread_create(&tid, NULL, du_thread, (void *)&(core_data[core])); pthread_create(&tid, NULL, du_thread, (void *)&(core_data[core]));
redraw(dir); tolastln();
printmsg("^C aborts"); addstr(xbasename(path));
addstr(" [^C aborts]\n");
refresh(); refresh();
} }
@ -5455,7 +5456,7 @@ static int dentfill(char *path, struct entry **ppdents)
if (S_ISDIR(sb.st_mode)) { if (S_ISDIR(sb.st_mode)) {
if (sb_path.st_dev == sb.st_dev) { // NOLINT if (sb_path.st_dev == sb.st_dev) { // NOLINT
mkpath(path, namep, buf); // NOLINT mkpath(path, namep, buf); // NOLINT
dirwalk(path, buf, -1, FALSE); dirwalk(buf, -1, FALSE);
if (g_state.interrupt) if (g_state.interrupt)
goto exit; goto exit;
@ -5585,7 +5586,7 @@ static int dentfill(char *path, struct entry **ppdents)
mkpath(path, namep, buf); // NOLINT mkpath(path, namep, buf); // NOLINT
/* Need to show the disk usage of this dir */ /* Need to show the disk usage of this dir */
dirwalk(path, buf, ndents, (sb_path.st_dev != sb.st_dev)); // NOLINT dirwalk(buf, ndents, (sb_path.st_dev != sb.st_dev)); // NOLINT
if (g_state.interrupt) if (g_state.interrupt)
goto exit; goto exit;