[pulseaudio-discuss] [PATCH] flist: Avoid the ABA problem
tanuk at iki.fi
Tue Mar 6 23:44:30 PST 2012
On Sun, 2012-03-04 at 22:56 +0200, Jyri Sarha wrote:
> On Sun, 4 Mar 2012 06:07:37 +0100, David Henningsson
> <david.henningsson at canonical.com> wrote:
> > Our flist implementation suffers from the ABA problem
> > (see http://en.wikipedia.org/wiki/ABA_problem), causing PulseAudio
> > to crash very rarely, usually inside memblock operations.
> > By turning stored pointers into stored table indices, we have some
> > extra bits that we can use to store tag bits, which is a known
> > workaround for the ABA problem.
> > Buglink: https://bugs.launchpad.net/bugs/924416
> > Signed-off-by: David Henningsson <david.henningsson at canonical.com>
> <code removed>
> After reviewing the patch I have to admit it looks cleaner than my
> version. As far as I can see it should make the ABA problem highly
> improbable. At least the patch provides a big improvement over the
> current implementation.
I've pushed David's patch now. Thanks to both of you!
More information about the pulseaudio-discuss