[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