Для иллюстрации сказанного рассмотрим две простые программы.
Листинг 9.1a. Программа 09-1a.c для иллюстрации работы с очередями сообщений. (html, txt)
Листинг 9.1b. Программа 09-1b.c для иллюстрации работы с очередями сообщений. (html, txt)
Первая из этих программ посылает пять текстовых сообщений с типом 1 и одно сообщение нулевой длины с типом 255 второй программе. Вторая программа в цикле принимает сообщения любого типа в порядке FIFO и печатает их содержимое до тех пор, пока не получит сообщение с типом 255. Сообщение с типом 255 служит для нее сигналом к завершению работы и ликвидации очереди сообщений. Если перед запуском любой из программ очередь сообщений еще отсутствовала в системе, то программа создаст ее.
Обратите внимание на использование сообщения с типом 255 в качестве сигнала прекращения работы второго процесса. Это сообщение имеет нулевую длину, так как его информативность исчерпывается самим фактом наличия сообщения.
Наберите программы, сохраните под именами 09-1а.с и 09-1b.c cоответственно, откомпилируйте и проверьте правильность их поведения.