From 48cd4a355c4cdf97b00a5a5104317fbd88f3d841 Mon Sep 17 00:00:00 2001 From: Cesar Douady Date: Thu, 2 May 2024 09:36:33 +0200 Subject: [PATCH] fix a rerun loop in some cases of manual targets --- src/rpc_job.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/rpc_job.cc b/src/rpc_job.cc index 58e5bd50..e3455d0f 100644 --- a/src/rpc_job.cc +++ b/src/rpc_job.cc @@ -40,10 +40,8 @@ ::pair_s do_file_actions( ::vector_s* unlnks/*out*/ , ::vmap_s do_file_actions( ::vector_s* unlnks/*out*/ , ::vmap_spush_back(f) ; ok &= done ; } break ; - case FileActionTag::Rmdir : + case FileActionTag::Uniquify : if (uniquify(nfs_guard.change(f))) append_to_string(msg,"uniquified ",mk_file(f),'\n') ; break ; + case FileActionTag::Mkdir : mkdir(f,nfs_guard) ; break ; + case FileActionTag::Rmdir : if (!keep_dirs.contains(f)) try { rmdir(nfs_guard.change(f)) ; } catch (::string const&) { for( ::string d=f ; +d ; d = dir_name(d) ) if (!keep_dirs.insert(d).second) break ; } // if a dir cannot rmdir'ed, no need to try those uphill