From 63c231ed36f834a62b3a0f8cc21756ecc6d8533e Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 13 Jul 2007 12:12:40 +0000 Subject: [PATCH] Fix concurrency bug when turning memblock into a local memblock git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1514 fefdeb5f-60dc-0310-8127-8f9354f1896f --- src/pulsecore/memblock.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pulsecore/memblock.c b/src/pulsecore/memblock.c index 71b576a..e5df11f 100644 --- a/src/pulsecore/memblock.c +++ b/src/pulsecore/memblock.c @@ -567,10 +567,10 @@ void pa_memblock_unref_fixed(pa_memblock *b) { assert(PA_REFCNT_VALUE(b) > 0); assert(b->type == PA_MEMBLOCK_FIXED); - if (PA_REFCNT_DEC(b) > 0) + if (PA_REFCNT_VALUE(b) > 1) memblock_make_local(b); - else - memblock_free(b); + + pa_memblock_unref(b); } /* Self-locked. This function is not multiple-caller safe */ -- 2.7.4