aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/lib/src/locking.h
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/lib/src/locking.h')
-rw-r--r--nx-X11/lib/src/locking.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/nx-X11/lib/src/locking.h b/nx-X11/lib/src/locking.h
index 277c9afc8..4fb477978 100644
--- a/nx-X11/lib/src/locking.h
+++ b/nx-X11/lib/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);