Hi Frank, On Mon, 2021-04-26 at 11:54 -0400, Frank Ch. Eigler via Elfutils-devel wrote: > PR26125: debuginfod client cache - rmdir harder > > With PR25365, we accidentally lost the ability to rmdir client-cache > directories corresponding to buildids. Bring this back, with some > attention to a possible race between a client doing cleanup and > another client doing lookups at the same time.
OK. So if I understand correctly the trailing / in the regexp made directories not match (because their name doesn't actually end in a /)? And even with the new check: > if (now - f->fts_statp->st_mtime >= max_unused_age) there is still a super tiny race if multiple clients might be running, pass this check, then another client tries to create the dir and file, but right before: > + fd = mkstemp (target_cache_tmppath); one of the other clients gets to run the rmdir. But then we just retry again and hope no other client was stuck right before the rmdir. Looks good. I cannot think of a better way to resolve this race. Thanks, Mark