Andres Freund <andres(at)2ndquadrant(dot)com> writes:
> Does anybody have a better idea than to either call WalSndWakeup() at
> essentially the wrong places or calling it inside a critical section?
> Tom, what danger do you see from calling it in a critical section?
My concern was basically that it might throw an error. Looking at the
current implementation of SetLatch, it seems that's not possible, but
I wonder whether we want to lock ourselves into that assumption.
Still, if the alternatives are worse, maybe that's the best answer.
If we do that, though, let's add comments to WalSndWakeup and SetLatch
mentioning that they mustn't throw error.
regards, tom lane