Re: [PATCH v2] Input: evdev - Add EVIOC mechanism to extract theMT slot state

From: Chase Douglas
Date: Fri Jan 06 2012 - 13:55:28 EST


On 01/06/2012 10:18 AM, Dmitry Torokhov wrote:
> Hi Benjamin,
>
> On Fri, Jan 06, 2012 at 07:00:22PM +0100, Benjamin Tissoires wrote:
>> Hi guys,
>> I read somewhere in the code of Android a comment in which they
>> complain about not being able to retrieve the slots states. So they
>> assume they are all at 0.
>> So this mechanism is good to have.
>> However, back in January 2011, Dmitry raised the problem that this
>> code was not thread safe.What happens if 2 applications ask for
>> different slots values (let say X.org and utouch-frame)?
>
> 2 different processes should be fine; the problem would be if 2 threads
> of the same process share the same file descriptor. So far the rest of
> evdev copes just fine with multiple threads using the same fd (all
> operations are atomic in this regard), setting ABS_MT_SLOT before
> fetching the state break this property.

How is this any different than two threads trying to set a different
property, like the fuzz factor of an axis? This seems like something
that should be guarded by a lock in userspace, essentially.

-- Chase
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/