Available Languages?:

OSA : OS_IsEventError

bool OS_IsEventError ()

Проверка, была ли ошибка события. Ошибками события считаются:

  • Попытка увеличить счетный семафор, если он уже имеет максимальное значение
  • Выход по таймауту из ожидания события (от OS_IsTimeout отличается тем, что доступен в любом месте программы, а не только внутри задачи)
  • Посылка сообщения в очередь, когда в ней нет свободного места (при этом первый элемент из очереди вытесняется)

Разрешен вызов:

Везде

Параметры функции:

Нет

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

false Ошибки не было
true Ошибка при выполнении сервиса по работе с событиями

Пример вызова:

OST_CSEM csem;
 
void Task (void)
{
    for (;;) {
        /*...*/
        OS_Csem_SetValue(csem, 0xFF);
        OS_Csem_Signal(csem);
        if (OS_IsEventError()) {
            // В данном примере попадаем сюда, т.к. пытаемся увеличить счетный семафор,
            // которому и так уже присвоено максимальное значение.
        }
        /*...*/
    }
}

См. также

 
osa/ref/allservices/os_iseventerror.txt · Последние изменения: 07.10.2010 13:52 (внешнее изменение)
 
Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki