处理程序是通过XSetErrorHandler global还是threadlocal设置的?

时间:2011-05-23 11:34:45

标签: c++ linux error-handling x11 xlib

如果我使用xlib函数设置错误处理程序XSetErrorHandler这个处理程序是否适用于整个进程或仅适用于调用XSetErrorHandler的线程?

2 个答案:

答案 0 :(得分:2)

XSetErrorHandler在两个意义上是全局的。一,它不是每个线程。二,它不是每次显示:如果在同一个进程中有多个Display连接,则同一个处理程序将适用于所有这些连接。

答案 1 :(得分:0)

它应该适用于整个过程。多于一个线程与Xlib通信并不好,因为Xlib不是线程安全的。