Difference between revisions of "SysFn23/ru"

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

Revision as of 09:17, 16 December 2013

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


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

Параметры:

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

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

Замечания:

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