This is the same one you already committed right? Not a further one on top of that?
That said,+1 for not bothering to back patch it. /Magnus On Sat, Apr 7, 2018, 00:39 Andres Freund <and...@anarazel.de> wrote: > Hi, > > As Daniel pointed out in: > https://postgr.es/m/fb948276-7b32-4b77-83e6-d00167f8e...@yesql.se the > pg_atomic_flag fallback implementation is broken. That has gone > unnoticed because the fallback implementation wasn't testable until now: > - /* --- > - * Can't run the test under the semaphore emulation, it doesn't handle > - * checking two edge cases well: > - * - pg_atomic_unlocked_test_flag() always returns true > - * - locking a already locked flag blocks > - * it seems better to not test the semaphore fallback here, than weaken > - * the checks for the other cases. The semaphore code will be the same > - * everywhere, whereas the efficient implementations wont. > - * --- > - */ > and flags weren't used until recently. > > The attached fixes the bug and removes the edge-cases by storing a value > separate from the semaphore. I should have done that from the start. > This is an ABI break, but given the fallback didn't work at all, I don't > think that's a problem for backporting. > > Fix attached. Comments? > > Greetings, > > Andres Freund >