diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2017-01-03 00:44:35 +0000 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2017-01-03 01:02:41 +0000 |
commit | 91b2ee084430dbe5d81d32d15e06b53d931514d9 (patch) | |
tree | 4c4d8c97359280219b18f58a0d7623f05f0ae970 /events.h | |
parent | 1e7a92dac7fa412cc79eed3aa5db3050ed5b6b4c (diff) |
Block signals except during the event loop. Closes:#692233.
Previously we would interrupt whatever we were doing, willy-nilly.
Now we wait until the event loop is reentered. Symptoms could include
locking up the server with a grab, and/or spinning on the cpu.
This patch is not very portable (it uses ppoll) but I think it will
work on all Debian architectures.
In the longer term we should update to new upstream, where the last
commits were in 2013.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'events.h')
-rw-r--r-- | events.h | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -77,6 +77,10 @@ extern void InstallWindowColormaps(); extern void RedoDoorName(); /* djhjr - 2/28/99 */ extern void RedoListWindow(); /* djhjr - 3/1/99 */ +extern void BlockSignalsAddToList(); +extern void BlockSignals(); +extern void UnblockSignals(); + extern event_proc EventHandler[]; extern Window DragWindow; extern int origDragX; |