当前位置: 技术问答>linux和unix
消息队列创建失败
来源: 互联网 发布时间:2015-06-23
本文导语: #include #include #include #include #include typedef struct msgbuf{ long m_Type; char buf[1024]; }msgbuf; main() { int server,client,qid,status; msgbuf mybuf; server=fork(); if (!server) { qid=msgget(75,IPC_CREAT|IPC_EXCL); printf("%dn",qid); status=msg...
#include
#include
#include
#include
#include
typedef struct msgbuf{
long m_Type;
char buf[1024];
}msgbuf;
main()
{
int server,client,qid,status;
msgbuf mybuf;
server=fork();
if (!server) {
qid=msgget(75,IPC_CREAT|IPC_EXCL);
printf("%dn",qid);
status=msgrcv(qid,&mybuf,0,0,0);
printf("%d %dn",status,mybuf.m_Type);
}
if (server) client=fork();
if (!client) {
qid=msgget(75,IPC_CREAT);
mybuf.m_Type=2;
status=msgsnd(qid,&mybuf,0,0);
printf("Sentn");
}
wait(0);
wait(0);
return 0;
}
执行结果
-1
-1 随便一个数
Sent
这个KEY75是老师要求上写的。
#include
#include
#include
#include
typedef struct msgbuf{
long m_Type;
char buf[1024];
}msgbuf;
main()
{
int server,client,qid,status;
msgbuf mybuf;
server=fork();
if (!server) {
qid=msgget(75,IPC_CREAT|IPC_EXCL);
printf("%dn",qid);
status=msgrcv(qid,&mybuf,0,0,0);
printf("%d %dn",status,mybuf.m_Type);
}
if (server) client=fork();
if (!client) {
qid=msgget(75,IPC_CREAT);
mybuf.m_Type=2;
status=msgsnd(qid,&mybuf,0,0);
printf("Sentn");
}
wait(0);
wait(0);
return 0;
}
执行结果
-1
-1 随便一个数
Sent
这个KEY75是老师要求上写的。
|
将errno错误信息打印出来看看。