mq_open()返回-1错误

时间:2015-06-06 16:15:07

标签: posix message-queue

int main(int argc, char **argv)
{
    mqd_t mqd;

    mqd = mq_open("/tmp/posix.msg/", O_CREAT | O_EXCL | O_NONBLOCK, 0666, NULL);
    printf("mq id: %d \n", mqd);
    mq_close(mqd);

    return 0;

}

vinay> gcc -o mq mq.c -lrt 维奈> ./ MQ mq id:-1

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

来自mq_overview

  

每个消息队列都由表单名称/ somename标识;   也就是说,一个以null结尾的字符串,最多为NAME_MAX(即255)   由初始斜杠组成的字符,后跟一个或多个   字符,都不是斜杠

此外,来自mq_open

  

EACCES

     

名称包含多个斜杠。

因此,请在开头使用只有一个斜杠的名称。