From e127ceaae87414588d4c839fc4cc04f02c2ed8c5 Mon Sep 17 00:00:00 2001 From: Bart Schaefer Date: Sat, 30 Apr 2022 11:21:03 -0700 Subject: 50149: Remove all remaining =(...) files at shell exit --- Src/builtin.c | 1 + Src/jobs.c | 12 ++++++++++++ 2 files changed, 13 insertions(+) (limited to 'Src') diff --git a/Src/builtin.c b/Src/builtin.c index b93466ba5..1cef7cce8 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -5860,6 +5860,7 @@ zexit(int val, enum zexit_t from_where) /* send SIGHUP to any jobs left running */ killrunjobs(from_where == ZEXIT_SIGNAL); } + cleanfilelists(); if (isset(RCS) && interact) { if (!nohistsave) { int writeflags = HFILE_USE_OPTIONS; diff --git a/Src/jobs.c b/Src/jobs.c index 85d4c4d1f..a91ef787f 100644 --- a/Src/jobs.c +++ b/Src/jobs.c @@ -1366,6 +1366,18 @@ deletefilelist(LinkList file_list, int disowning) } } +/**/ +void +cleanfilelists(void) +{ + int i; + + DPUTS(shell_exiting >= 0, "BUG: cleanfilelists() before exit"); + + for (i = 1; i <= maxjob; i++) + deletefilelist(jobtab[i].filelist, 0); +} + /**/ void freejob(Job jn, int deleting) -- cgit 1.4.1