Peter Hutterer <[email protected]> writes:

> A quick git grep shows that timers are used in keybard, mouse, joystick,
> synaptics, and wacom, all of those are in the signal path. We could in
> theory fix up the lot, but it will take time.

Thanks for checking; it seems like the server really needs to provide a
signal-safe function. At a minimum, we need a function that requires
that the timer have been registered so that it won't call malloc if the
driver messes up.

Beyond that, having a function which stashed the timer changes away in
the existing timer structure and signaled the server code to go and fix
things from the main thread seems pretty simple to add, and that would
avoid needing to block signals within WaitForSomething. Yes, we have a
race there between checking the variable and blocking in select, but
blocking SIGIO won't fix that; we have to unblock before select.

-- 
[email protected]

Attachment: pgpRDkENN2RC1.pgp
Description: PGP signature

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to