mirror of
https://github.com/postgres/postgres.git
synced 2025-06-14 18:42:34 +03:00
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:
@ -2090,7 +2090,10 @@ ProcessIncomingNotify(void)
|
|||||||
{
|
{
|
||||||
bool catchup_enabled;
|
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)
|
if (listenChannels == NIL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -2102,8 +2105,6 @@ ProcessIncomingNotify(void)
|
|||||||
|
|
||||||
set_ps_display("notify interrupt", false);
|
set_ps_display("notify interrupt", false);
|
||||||
|
|
||||||
notifyInterruptOccurred = 0;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We must run asyncQueueReadAllNotifications inside a transaction, else
|
* We must run asyncQueueReadAllNotifications inside a transaction, else
|
||||||
* bad things happen if it gets an error.
|
* bad things happen if it gets an error.
|
||||||
|
Reference in New Issue
Block a user