On Thu, Mar 07, 2024 at 09:59:50AM -0800, Junio C Hamano wrote: > Patrick Steinhardt <ps@xxxxxx> writes: [snip] > I sense there might be some clean-up opportunities around here. > After all, lockfile is (or at least pretends to be) built on top of > tempfile, and it is for more permanent (as opposed to temporary) > files, but it somehow wasn't a good fit to wrap new tables in this > series? Well, I didn't think lockfiles are a good fit here. I did convert "tables.list" to use a lock because it's a natural fit given that we want to use "table.list.lock". But newly written tables aren't written to a file with ".lock" suffix, but instead to a file ending with ".temp.XXXXXX". This is intentionally so that two processes can write new tables at the same point in time, even though two concurrent writes will end up being mutually exclusive. As lockfiles to me are rather about mutually exclusive locking I think that using tempfiles directly is preferable. As far as I can see there is also no real benefit with lockfiles in our context, except for the mode handling. But given that we have "default_permissions" I'd say it is preferable to consistently use these for now via chmod(3P). I ain't got any strong opinions on this though, I'm rather being pragmatic. So if there is a good reason to use lockfiles that I missed then I wouldn't mind converting the code. Patrick
Attachment:
signature.asc
Description: PGP signature