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

Attachment: 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

Reply via email to