It might be easier to read that first, as it also goes into practical applications, and then this one.
by jeffbee
0 subcomment
I can't help myself digging into the referenced source code. The membarrier syscall can fail to allocate, returning ENOMEM. The way Folly calls it, the program would abort. Which I guess is a fair strategy but it's good to know when your synchronization primitive is actually SynchronizeOrCrash.