[pulseaudio-discuss] [PATCH] memblock: multiple references should make blocks read-only

Arun Raghavan arun at arunraghavan.net
Fri Jul 22 11:11:55 UTC 2016


On Wed, 8 Jun 2016, at 11:48 PM, Tanu Kaskinen wrote:
> The old code makes no sense to me. Why would multiple references mean
> that a previously read-only memblock is suddenly writable? I'm pretty
> sure that the original intention was to treat multi-referenced blocks
> as read-only. I don't have any examples where the old code would have
> caused bad behaviour, however.
> ---
>  src/pulsecore/memblock.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/pulsecore/memblock.c b/src/pulsecore/memblock.c
> index 17520ed..babe5cd 100644
> --- a/src/pulsecore/memblock.c
> +++ b/src/pulsecore/memblock.c
> @@ -497,7 +497,7 @@ bool pa_memblock_is_read_only(pa_memblock *b) {
>      pa_assert(b);
>      pa_assert(PA_REFCNT_VALUE(b) > 0);
>  
> -    return b->read_only && PA_REFCNT_VALUE(b) == 1;
> +    return b->read_only || PA_REFCNT_VALUE(b) > 1;
>  }
>  
>  /* No lock necessary */
> -- 

Ack, I agree with your reasoning.

-- Arun


More information about the pulseaudio-discuss mailing list