Comment 13 for bug 670016

I've linked this bug with two branches with a workaround that has been working for me.

The code in these branches are definitely not suitable for production. I did it in a quick and dirty way as a proof of concept. There are many clear improvements still to be done.

I didn't find exactly where is the bug. My suspects are we are doing something that shouldn't be done from a signal handler, although I don't know exactly what. So I moved the code that sends gestures to the client from the signal handler to the xserver main loop, passing the gestures through the event queue. As it has been working, probably the WriteToClient function is not (or uses a function that is not) async-signal-safe.