Когда я вызываю этот метод очереди сообщений POSIX, например,
#include <mqueue.h>
ssize_t mq_receive (mqd_t mqdes, char *msg_ptr, size_t msg_len,
unsigned int *msg_prio);
Обычная конфигурация - блокировка, пока данные не станут доступными.Я хочу знать, что именно означает слово «блокирование».
Неуклонно ли оно входит в моду while (1), пока данные не станут доступными?
Ожидает ли оно, когда переменная условия станет истинной?или сигнализировал (таким образом, получая циклы ЦП потока?
Или он использует какую-то другую форму механизма программного прерывания?
Это очень важно, так как я пытаюсь разработать Low Energy, вычислительно консервативный RealСистема времени.