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]
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
