[pulseaudio-discuss] [PATCH 11/11] pulsecore: srbchannel: Enable memfd support; pump protocol version

Tanu Kaskinen tanuk at iki.fi
Thu Oct 1 01:02:55 PDT 2015


On Sun, 2015-09-20 at 23:39 +0200, Ahmed S. Darwish wrote:
> diff --git a/src/pulse/context.c b/src/pulse/context.c
> index ede01fa..f272cd6 100644
> --- a/src/pulse/context.c
> +++ b/src/pulse/context.c
> @@ -591,6 +591,8 @@ static void setup_context(pa_context *c, pa_iochannel *io) {
>      pa_tagstruct_putu32(t, PA_PROTOCOL_VERSION | (c->do_shm ? 0x80000000U : 0));
>      pa_tagstruct_put_arbitrary(t, cookie, sizeof(cookie));
>  
> +    pa_tagstruct_put_boolean(t, pa_memfd_is_supported());

This breaks compatibility with old servers that expect the tagstruct to
end after the cookie.

The "memfd supported" bit could be added to the version field like the
"shm supported" bit. Another approach would be to do add a new command
to do memfd negotiation before enabling srbchannel. Abusing the version
field is ugly, adding another negotiation adds more connection setup
overhead. I don't know which approach we should choose.

-- 
Tanu


More information about the pulseaudio-discuss mailing list