Проблема с realtime очередью
Добавлено: 29 мар 2006, 15:08
Код: Выделить всё
#include <mqueue.h> // определена стуктура mq_attr
#include <errno.h>
mqd_t mqd;
char qname[32] = “/msgq.0”;
struct mq_attr attr;
attr.mq_maxmsg = 256; // кол-во сообщений в очереди
attr.mq_msgsize = 5; // длина сообщения
// по умолчанию mq_maxmsg = 10, mq_msgsize = 8192
// параметры по умолчанию не подходят!
if ( mqd = mq_open(qname, O_CREAT | O_RDWR, 0644, &attr) == –1 ){
perror ("MQ_OPEN");
}
Результат работы : MQ_OPEN: Bad file descriptor
Тоже самое, но без атрибутов, никаких ошибок не выдает
if ( mqd = mq_open(qname, O_CREAT | O_RDWR, 0644, 0) == –1 ){
perror ("MQ_OPEN");
}