LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

Ну в иксах по сути дела связь с X.org осуществляется тоже через сокет. Так что тулкит тупо добавляет ещё один файловый дескриптор в набор для отслеживания, а когда он триггерется забирает все пришедшие события с помощью неблокирующих функций библиотеки Xlib или Xcb типа «забрать все события, которые есть, не ждать новых» (такие есть, читай доки).

Под виндой есть специальные системные вызовы типа «ждать оконного сообщения ИЛИ файлового события», а не только «ждать файлового события».

Что там под вяленым и маком я не знаю, но там тоже должны быть соответствующие функции (либо события от оконной системы приходят через обычный пайп/сокет, либо есть специальные функции ожидания сразу и того, и другого, реализованные на уровне API ОС).

Исправление KivApple, :

Ну в иксах по сути дела связь с X.org осуществляется тоже через сокет. Так что тулкит тупо добавляет ещё один файловый дескриптор в набор для отслеживания, а когда он триггерется забирает все пришедшие события с помощью неблокирующих функций библиотеки Xlib или Xcb типа «забрать все события, которые есть, не ждать новых» (такие есть, читай доки).

Под виндой есть специальные системные вызовы типа «ждать оконного сообщения ИЛИ файлового события».

Что там под вяленым и маком я не знаю, но там тоже должны быть соответствующие функции (либо события от оконной системы приходят через обычный пайп/сокет, либо есть специальные функции ожидания сразу и того, и другого, реализованные на уровне API ОС).

Исходная версия KivApple, :

Ну в иксах по сути дела связь с X.org осуществляется тоже через сокет. Так что тулкит тупо добавляет ещё один файловый дескриптор в набор для отслеживания, а когда он триггерется забирает все пришедшие события с помощью неблокирующих функций библиотеки Xlib или Xcb типа «забрать все события, которые есть, не ждать новых».

Под виндой есть специальные системные вызовы типа «ждать оконного сообщения ИЛИ файлового события».

Что там под вяленым и маком я не знаю, но там тоже должны быть соответствующие функции (либо события от оконной системы приходят через обычный пайп/сокет, либо есть специальные функции ожидания сразу и того, и другого, реализованные на уровне API ОС).