2013-03-11 2 views
0

Итак, в C++ у меня есть родительский процесс, который разветвил N дочерних процессов. Родитель, а также все его дочерние пользователи имеют доступ к очереди сообщений, и я хочу, чтобы родитель постоянно «контролировал» очередь сообщений и выполнял msgrcv() каждый раз, когда новое сообщение от дочернего процесса появляется в очереди сообщений. Как мне это сделать? Я прочитал о переменной msg_qnum в структуре данных очереди сообщений, но не знаю, как это использовать.Как постоянно контролировать очередь сообщений?

Заранее благодарим за любые идеи.

ответ

2

Обычный метод - это просто позвонить msvrcv в цикле. Вызов msgrcv будет блокироваться до тех пор, пока не будет получено сообщение, после чего процесс продолжится. После обработки сообщения он возвращается к вызову msgrcv, который блокируется до следующего сообщения.

Смежные вопросы