Книга: UNIX: взаимодействие процессов

Пример: программа mqsend

Пример: программа mqsend

В листинге 5.5 приведен текст программы, помещающей сообщение в очередь.

Листинг 5.5. Программа mqsend

//pxmsg/mqsend.c
1  #include "unpipc.h"
2  int
3  main(int argc, char **argv)
4  {
5   mqd_t mqd;
6   void *ptr;
7   size_t len;
8   uint_t prio;
9   if (argc != 4)
10   err_quit("usage: mqsend <name> <#bytes> <priority>");
11  len = atoi(argv[2]);
12  prio = atoi(argv[3]);
13  mqd = Mq_open(argv[1], O_WRONLY);
14  ptr = Calloc(len, sizeof (char));
15  Mq_send(mqd, ptr, len, prio);
16  exit(0);
17 }

И размер сообщения, и его приоритет являются обязательными аргументами командной строки. Буфер под сообщение выделяется функцией callос, которая инициализирует его нулем.

Оглавление книги


Генерация: 1.169. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз