This was broken in 9.0 by careless addition of an early-exit path.
Bug report and diagnosis by Jeff Davis.
{
bool catchup_enabled;
- /* Do nothing if we aren't actively listening */
+ /* We *must* reset the flag */
+ notifyInterruptOccurred = 0;
+
+ /* Do nothing else if we aren't actively listening */
if (listenChannels == NIL)
return;
set_ps_display("notify interrupt", false);
- notifyInterruptOccurred = 0;
-
/*
* We must run asyncQueueReadAllNotifications inside a transaction, else
* bad things happen if it gets an error.