[PATCH v2] input: constify valuators passed in by input drivers.

Tiago Vignatti tiago.vignatti at nokia.com
Wed Aug 11 07:46:58 PDT 2010


Hi,

On Tue, Aug 10, 2010 at 07:28:30AM +0200, ext Peter Hutterer wrote:
> On Tue, Aug 10, 2010 at 03:05:48PM +1000, Daniel Stone wrote:
> > 
> > malloc() in a signal handler ftl 
> 
> urgh, yes, thanks.

...

> > I guess you could just have a static int copied_valuators[MAX_VALUATORS].
> 
> I thought about that but there's more cleanup needed, GPE isn't 100%
> signal-safe yet, there's at least one caller that may screw up here. 
> squash one bug, two more come out of the woodworks...
> 
> Either way, please ignore this patch for now, it was only exposed due to a
> new proposed change in the wacom driver and I've already put said patch
> on hold for backwards compat issues.

FYI, myself and Fernando have already a working tree with input generation
running inside a thread:

http://cgit.freedesktop.org/~vignatti/xserver/log/?h=inputthread

I don't expect/want reviews yet though. Right now we're discussing the method
of communication between threads (we're using a pipe, which seems too much for
it) and some proper test stills needed (hotplug, multiple mice, display
blanking, etc). Probably we're going to rearrange the commits in a more
human-readable form before send around.

This work would solve mostly of this SIGIO issues we have today, for instance
Daniel's argument to not use malloc()ing during signal handler would not be
valid anymore and cursor jumping when the server is in D state
(uninterruptible).

Another random commentary: I just read also ajax trying to miraculously
workaround Xv stuff when SIGIO handling happens. I see the server has race
problems like this everywhere and seems that luckily we didn't reach so much
so far. Maybe now swapping SIGIO method by a thread would trigger those more
often.


Cheers,
             Tiago


More information about the xorg-devel mailing list