diff options
Diffstat (limited to 'lib/libX11/src/locking.h')
-rw-r--r-- | lib/libX11/src/locking.h | 12 |
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); |