处理程序是通过 XSetErrorHandler 设置的还是全局的还是线程局部的?

发布于 2024-11-08 19:03:39 字数 90 浏览 3 评论 0原文

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

If I set error handler using xlib function XSetErrorHandler will this handler work for the whole process or only for a thread where XSetErrorHandler was called?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

楠木可依 2024-11-15 19:03:39

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

XSetErrorHandler is global in two senses. One, it's not per-thread. Two, it's not per-display: if you have multiple Display connections within the same process, the same handler will apply to all of them.

不寐倦长更 2024-11-15 19:03:39

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

It should work for the whole process. It is not good for more than 1 thread to communicate with Xlib, because Xlib is not thread-safe.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文