summaryrefslogtreecommitdiff
path: root/lib/libX11/src/locking.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libX11/src/locking.h')
-rw-r--r--lib/libX11/src/locking.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/libX11/src/locking.h b/lib/libX11/src/locking.h
index 5251a60c1..59fc866ed 100644
--- a/lib/libX11/src/locking.h
+++ b/lib/libX11/src/locking.h
@@ -149,6 +149,18 @@ typedef struct _LockInfoRec {
xmutex_t lock;
} LockInfoRec;
+/* A list of threads currently invoking error handlers on this display
+ * LockDisplay operates differently for these threads, avoiding
+ * generating any requests or reading any events as that can cause
+ * recursion into the error handling code, which will deadlock the
+ * thread.
+ */
+struct _XErrorThreadInfo
+{
+ struct _XErrorThreadInfo *next;
+ xthread_t error_thread;
+};
+
/* XOpenDis.c */
extern int (*_XInitDisplayLock_fn)(Display *dpy);
extern void (*_XFreeDisplayLock_fn)(Display *dpy);