Available Languages?:

tn_task_wakeup()

Разрешен вызов только в контексте задачи Может привести к переключению контекста

Функция предназначена для пробуждения приостановленной с помощью функции tn_task_sleep() задачи. При этом задача продолжит выполнение с места возврата из функции tn_task_sleep() без ошибок.

Если функция пытается пробудить задачу, которая еще не приостановлена, счетчик запросов на пробуждение будет увеличен на 1.

Вызов:

TN_RETVAL tn_task_wakeup (TN_TCB *task);

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

В контексте задачи

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

task
указатель на TCB пробуждаемой задачи


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

TERR_WRONG_PARAM
некорректное значение параметра (замечание: данный код возврата возможен только в случае использования сервисов с проверкой параметров)
TERR_NOEXS
попытка пробуждения объекта, не являющегося задачей (замечание: данный код возврата возможен только в случае использования сервисов с проверкой параметров)
TERR_WCONTEXT
попытка пробуждения задачи в прерывании или в пользовательской критической секции
попытка пробуждения задачи, находящейся в состоянии DORMANT
TERR_OVERFLOW
счетчик запросов на пробуждение переполнен (=1)
TERR_NO_ERR
успешное выполнение


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

extern TN_TCB tcb_Task1  TN_DATA;
 
/* ... */
if (need_wakeup_task_1)
    tn_task_wakeup(&tcb_Task1);
/* ... */



К списку сервисов

 
tnkernel/ref/task/tn_task_wakeup.txt · Последние изменения: 21.07.2008 02:20 От admin
 
Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki