Looking at 0003, where an XXX comment is added about taking a spinlock to read LogwrtResult, I suspect the answer is probably not, because it is likely to slow down the other uses of LogwrtResult. But I wonder if a better path forward would be to base further work on my older uncommitted patch to make LogwrtResult use atomics. With that, you wouldn't have to block others in order to read the value. I last posted that patch in [1] in case you're curious.
[1] https://postgr.es/m/20220728065920.oleu2jzsatchakfj@alvherre.pgsql The reason I abandoned that patch is that the performance problem that I was fixing no longer existed -- it was fixed in a different way. -- Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/ "In fact, the basic problem with Perl 5's subroutines is that they're not crufty enough, so the cruft leaks out into user-defined code instead, by the Conservation of Cruft Principle." (Larry Wall, Apocalypse 6)