[pulseaudio-discuss] [PATCH] flist: Avoid the ABA problem

Jyri Sarha oku at iki.fi
Sun Mar 4 12:56:05 PST 2012


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.

Best regards,
Jyri 




More information about the pulseaudio-discuss mailing list