msgget 创建队列成功 但是返回值 为0 为什么?
key_t key;
int msqid;
key = ftok(".",100);
if(msqid=msgget(key,IPC_CREAT|0666) < 0)
{
printf("消息队列创建失败\n");
pid_t pr = wait(NULL);
return 0;
}
printf("create msgqueue msgqueueid=%d\n",msqid);
运行输出:
create msgqueue msgqueueid=0
检查主机ipcs队列信息情况 如下:
$ ipcs -q
------ Message Queues --------
key msqid owner perms used-bytes messages
0x640080f0 163840 aigwRpt 666 0 0
表明队列创建成功
问:为什么msgget不能返回正确的 msgqid ,返回0?
蛋黄酱王子
11 years, 3 months ago