Am 15.03.2010 23:02, schrieb Peter Hutterer: > On Mon, Mar 15, 2010 at 06:34:48PM +0100, Simon Thum wrote: >> I also see the inherent racyness here, but I guess one could work that >> out by a few routines in libXi which support the MT conventions hammered >> out here. For example, a routine which skims through events and helps to >> associate axis labels to events such that races are prevented. I >> wouldn't worry about things not forbidden in the current spec, as MT so >> far seems to involve some constraints on how clients interact with the >> serer anyway. > > This is less a libXi issue as more an issue in how clients may handle the > events. It's in fact quite similar to how motion events can be treated. > XIDeviceChangedEvents describe the state of a device as current when the > event was generated. A client that sees multiple events from the same device > in the queue may thus skip to the last one to get the info. Not much you can > do in libXi. Yes. But that wasn't what I tried to say :)
I wanted to suggest that libXi (or libXfancyMT) provides a purely optional reference implementation which avoids those issues and can be reused. Much like everything X.org is a reference impl, yes, but sill... IMO, since your approach essentially 'tunnels' the Xi spec, such issues need more care. Cheers, Simon _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
