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
This commit is contained in:
Lennart Poettering 2007-07-13 12:12:40 +00:00
parent 481b425a28
commit 63c231ed36

View file

@ -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 */