On Wed, 2010-12-15 at 23:08 +0100, Mark Kettenis wrote: > Yes, that is the additional locking that's necessary. I'd say you'll > need a mutex that you lock in x86BlockSIGIO() and unlock in > xf86UnblockSIGIO() and lock/unlock around each event that you process > in the input thread.
It's more subtle than that. BlockSIGIO is used to mean both "suppress input because I'm changing the input state", and "suppress signals because I don't want my usleep()s to wake up early". So you really need as a first pass to change the callers to say what they mean, and the former case should be xf86BlockInput (which then happens to call BlockSIGIO for now, but turns into a mutex in the threading change). Untangling that is proving slightly more interesting than I expected, but I should have a handle on it momentarily. - ajax
signature.asc
Description: This is a digitally signed message part
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
