Какова точная механика блокировки? - PullRequest
0 голосов
/ 09 июля 2019

Когда я вызываю этот метод очереди сообщений 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Система времени.

...