[PATCH weston] RDP compositor: make the seat dynamic and don't destroy it on removal

Hardening rdp.effort at gmail.com
Fri Sep 25 12:46:09 PDT 2015

Le 25/09/2015 19:15, Derek Foreman a écrit :
> On 25/09/15 08:19 AM, Hardening wrote:
>> Le 25/09/2015 11:31, Pekka Paalanen a écrit :
>>> On Thu, 24 Sep 2015 23:40:26 +0200
>>> David FORT <rdp.effort at gmail.com> wrote:
>>>> This patch makes the seat dynamic and leak it on purpose during seat removal to
>>>> prevent the ghost object case.
>>>> ---


>> Hello Pekka,
>> you're right I've not elaborated much.
>> So the general problem was that wl_seat doesn't have a release request,
>> so we can't track the usage of a wl_seat by wayland clients. And as we
>> can't track the usage, we can't release it safely or we take the risk
>> that clients could address a released object. In the current situation
>> we can't safely release a seat object.
> Should we move forward with your patch to add seat release protocol first?
> Does that change this implementation at all?

Yeah this could be an idea. Once the "release seat patch" is passed, the
goal would be to not leak the seat at all, so the present patch would be

>> So in my patch I'm mallocating a seat (not having it static with the RDP
>> context), an I took the parts of weston_seat_release() that only do
>> things internally to weston (so that I release as much as I can).

>> Anyway without the patch, valgrind complains during seat releasing (for
>> example when a RDP peer disconnects).
> Sigh.  There's a lot of multi-seat related problems in the
> text-backend/input-method bits.  I've got a bunch of patches I need to
> sort through and post. :/
> I don't think you've added this problem, I think it's already there (and
> I may have fixed it already...)

I can test with these patches to see if things get better, any reference ?

Best regards.
David FORT
website: http://www.hardening-consulting.com/

More information about the wayland-devel mailing list