ProcessIncomingNotify *must* reset notifyInterruptOccurred when called.

This was broken in 9.0 by careless addition of an early-exit path.
Bug report and diagnosis by Jeff Davis.
This commit is contained in:
Tom Lane 2010-09-23 17:17:02 -04:00
parent f73ccedcf8
commit c825a15700

View File

@ -2090,7 +2090,10 @@ ProcessIncomingNotify(void)
{
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;
@ -2102,8 +2105,6 @@ ProcessIncomingNotify(void)
set_ps_display("notify interrupt", false);
notifyInterruptOccurred = 0;
/*
* We must run asyncQueueReadAllNotifications inside a transaction, else
* bad things happen if it gets an error.