1.Эта часть кода возвращает «Ошибка при открытии очереди, ошибка Недопустимый аргумент», я не понимаю, почему !!
2.кодовая часть
struct mq_attr * attr = NULL ;
attr = (struct mq_attr * ) malloc (sizeof(struct mq_attr));
attr->mq_maxmsg = 100;
attr->mq_msgsize = sizeof(upgrademanager_event_t);
upgrademanager->queue = mq_open("/upgrademanager_mqueue", O_RDWR|O_CREAT|O_EXCL, 0, & attr);
if (upgrademanager->queue == (mqd_t)-1)
TRACE_ERROR("Open queue failed, error %s. ", strerror(errno));