summaryrefslogtreecommitdiff
path: root/events.h
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2017-01-03 00:44:35 +0000
committerIan Jackson <ijackson@chiark.greenend.org.uk>2017-01-03 01:02:41 +0000
commit91b2ee084430dbe5d81d32d15e06b53d931514d9 (patch)
tree4c4d8c97359280219b18f58a0d7623f05f0ae970 /events.h
parent1e7a92dac7fa412cc79eed3aa5db3050ed5b6b4c (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.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/events.h b/events.h
index 8d42304..6c447df 100644
--- a/events.h
+++ b/events.h
@@ -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;