====== OSA : OS_IsInCriticalSection ====== **bool OS_IsInCriticalSection ()**\\ === === Возвращает //''true''//, если одна из задач находится в критической секции. === Разрешен вызов: === Везде === Параметры функции: === Нет === Возвращаемое значение: === {| class = "fpl" |- |//''false''// | Критическая секция не активна |- |//''true''// | Одна из задач находится в критической секции |} === Пример вызова: === void interrupt isr (void) { if (TMR2IF) { TMR2IF = 0; OS_Timer(); } } void main (void) { /*...*/ for (;;) { OS_Sched(); if (OS_IsInCriticalSection () && TMR2IF) { TMR2IF = 0; OS_Timer(); // Т.к. в критической секции прерывания запрещены, // мы таймер обрабатываем отдельно }; /*...*/ } } === См. также === ---- * [[osa:ref:services:alphabetical|Алфавитный указатель]] * [[osa:ref:services:brieflist|Все сервисы]] ~~UP~~