At Mon, 19 Jul 2021 10:23:46 -0400, Tom Lane <t...@sss.pgh.pa.us> wrote in > Michael Paquier <mich...@paquier.xyz> writes: > > On Mon, Jul 19, 2021 at 04:15:36PM +0900, Kyotaro Horiguchi wrote: > >> When rotation happens, the metainfo file is once removed then > >> created. If slurp_file in the metafile-checking loop hits the gap, the > >> slurp_file fails with ENOENT. > > > I can read the following code, as of update_metainfo_datafile(): > > if (rename(LOG_METAINFO_DATAFILE_TMP, LOG_METAINFO_DATAFILE) != 0) > > Yeah, ignore my previous message. There is an unlink up at the top > of the function, which fooled me in my caffeine-deprived state.
Yeah, sorry for the stupidity. > But that path is only taken when logging was just turned off, so > we must remove the now-irrelevant metafile. I'm not sure this is relevant, I found the following article. (as a token of my apology:p) http://www.weirdnet.nl/apple/rename.html > There is an easy way to empirically prove that rename() is not > atomic on Leopard 10.5.2. All you have to do is create a link to a > directory, replace that link with a regards. -- Kyotaro Horiguchi NTT Open Source Software Center