Robert Haas <robertmh...@gmail.com> writes: > On Mon, Oct 27, 2014 at 3:31 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: >> Why could we not remove the hasMessages flags again, and change the >> unlocked test >> >> if (!stateP->hasMessages) >> return 0; >> >> into >> >> if (stateP->nextMsgNum == segP->maxMsgNum && >> !stateP->resetState) >> return 0; >> >> If we are looking at stale shared state, this test might produce a >> false positive, but I don't see why it's any less safe than testing a >> hasMessages boolean.
> It was discussed at the time: > http://www.postgresql.org/message-id/CA+TgmoY3Q56ZR6i8h+iGhXCw6rCZyvdWJ3RQT=PMVev4-=+n...@mail.gmail.com > http://www.postgresql.org/message-id/13077.1311702...@sss.pgh.pa.us Neither of those messages seem to me to bear on this point. AFAICS, the unlocked hasMessages test has a race condition, which the comment just above it argues isn't a problem in practice. What I propose above would have an absolutely indistinguishable race condition, which again wouldn't be a problem in practice if you believe the comment's argument. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers