Difference between revisions of "SysFn23/ru"

From KolibriOS wiki
Jump to navigation Jump to search
m
 
Line 13: Line 13:
 
Замечания:
 
Замечания:
 
:* Учитываются только те события, которые входят в маску,
 
:* Учитываются только те события, которые входят в маску,
::устанавливаемую функцией 40. По умолчанию это события
+
::устанавливаемую [[SysFn40/ru|функцией 40]]. По умолчанию это события
 
::перерисовки, нажатия на клавиши и на кнопки.
 
::перерисовки, нажатия на клавиши и на кнопки.
:* Для проверки, есть ли сообщение в очереди, используйте функцию 11.
+
:* Для проверки, есть ли сообщение в очереди, используйте [[SysFn11/ru|функцию 11]].
::Чтобы ждать сколь угодно долго, используйте функцию 10.
+
::Чтобы ждать сколь угодно долго, используйте [[SysFn10/ru|функцию 10]].
 
:* Передача ebx=0 приводит к моментальному возвращению eax=0.
 
:* Передача ebx=0 приводит к моментальному возвращению eax=0.
 
:* При текущей реализации произойдёт немедленный возврат из функции
 
:* При текущей реализации произойдёт немедленный возврат из функции
 
::с eax=0, если сложение ebx с текущим значением счётчика времени
 
::с eax=0, если сложение ebx с текущим значением счётчика времени
 
::вызовет 32-битное переполнение.
 
::вызовет 32-битное переполнение.
 +
 +
'''Константы для регистров:'''
 +
::eax - SF_WAIT_EVENT_TIMEOUT (23)
  
 
{{System_functions}}
 
{{System_functions}}
 
[[Category: SysCalls]]
 
[[Category: SysCalls]]

Latest revision as of 18:56, 16 January 2016

Функция 23 - ожидать события с таймаутом


Если очередь сообщений пуста, ждёт появления сообщения в очереди, но не более указанного времени. Затем считывает сообщение из очереди.

Параметры:

  • eax = 23 - номер функции
  • ebx = таймаут (в сотых долях секунды)

Возвращаемое значение:

Замечания:

  • Учитываются только те события, которые входят в маску,
устанавливаемую функцией 40. По умолчанию это события
перерисовки, нажатия на клавиши и на кнопки.
  • Для проверки, есть ли сообщение в очереди, используйте функцию 11.
Чтобы ждать сколь угодно долго, используйте функцию 10.
  • Передача ebx=0 приводит к моментальному возвращению eax=0.
  • При текущей реализации произойдёт немедленный возврат из функции
с eax=0, если сложение ebx с текущим значением счётчика времени
вызовет 32-битное переполнение.

Константы для регистров:

eax - SF_WAIT_EVENT_TIMEOUT (23)