Установлен ли обработчик через XSetErrorHandler глобальным или локальным? - PullRequest
0 голосов
/ 23 мая 2011

Если я установлю обработчик ошибок с помощью функции xlib, XSetErrorHandler будет ли этот обработчик работать для всего процесса или только для потока, где был вызван XSetErrorHandler?

Ответы [ 2 ]

2 голосов
/ 23 мая 2011

XSetErrorHandler является глобальным в двух смыслах.Во-первых, это не на поток.Во-вторых, это не для отображения: если у вас есть несколько подключений Display в одном процессе, один и тот же обработчик будет применяться ко всем из них.

0 голосов
/ 23 мая 2011

Должно работать на весь процесс. Не рекомендуется, чтобы более 1 потока общались с Xlib, поскольку Xlib не является поточно-ориентированным.

...