 
  
Функция приостанавливает выполнение задачи, переводя ее в состояние SUSPENDED. Если задача находится в состоянии WAITING, она переводится в состояние WAITING_SUSPENDED.
Функция может приостановить как выполнение текущей задачи, так и выполнение любой другой задачи.
Вызов:
TN_RETVAL tn_task_suspend (TN_TCB *task);
Разрешен вызов: 
 
В контексте задачи
Параметры функции:
-  task
- указатель на TCB приостанавливаемой задачи
 
Возвращаемые значения:  
-  TERR_WRONG_PARAM
- некорректное значение параметра (замечание: данный код возврата возможен только в случае использования сервисов с проверкой параметров)
-  TERR_NOEXS
- попытка приостановки выполнения объекта, не являющегося задачей (замечание: данный код возврата возможен только в случае использования сервисов с проверкой параметров)
-  TERR_WCONTEXT
- попытка приостановки выполнения задачи в прерывании или в пользовательской критической секции
-  TERR_OVERFLOW
- попытка приостановки выполнения задачи, которая уже находится в состоянии SUSPENDED
-  TERR_WSTATE
- попытка приостановки выполнения задачи, которая находится в состоянии DORMANT
-  TERR_NO_ERR
- успешное выполнение
 
Пример вызова:
extern TN_TCB tcb_Task1  TN_DATA;
 
/* ... */
if (need_suspend_task_1)
    tn_task_suspend(&tcb_Task1);
/* ... */
 
К списку сервисов