Функция предназначена для приема сообщения через очередь сообщений dque. Принятое сообщение (точнее говоря адрес сообщения) сохраняется по указателю data_ptr. Если в очереди отсутствуют сообщение, то задача не блокируется, а функция возвращает код ошибки TERR_TIMEOUT.
Если буфер очереди сообщений не пуст, функция передает первое сообщение в буфере по указателю data_ptr. Таким образом, после выхода из сервиса data_ptr будет указывать на сообщение, которое было отправлено через очередь. Если есть задача (задачи) ожидающая освобождения буфера для того чтобы отправить сообщение - эта задача будет переведена в состояние готовых к выполнению, а ее сообщение будет положено в очередь.
Вызов:
TN_RETVAL tn_queue_receive_polling (TN_DQUE *dque, void **data_ptr);
Разрешен вызов: 
 
В контексте задачи
Параметры функции:
dquedata_ptr
 
Возвращаемые значения:
TERR_WRONG_PARAMTERR_NOEXSTERR_WCONTEXTTERR_TIMEOUTTERR_NO_ERR
 
Пример вызова:  
TN_DQUE queue TN_DATA; /* очередь сообщений */ MY_MSG *message; /* указатель на сообщение */ if (tn_queue_receive_polling(&queue, &message) == TERR_NO_ERR) { if (message->a) { /* ... */ } }