- 论坛徽章:
- 0
|
本帖最后由 cobber622 于 2010-06-10 08:56 编辑
创建msg队列如下:- #define SHARE_KEY 0x1997
- if((msgid=msgget((key_t)SHARE_KEY,IPC_CREAT|IPC_EXCL|00666))==-1) {
- printf("Creat Message Queue Error:%s\a\n",strerror(errno));
- return -1;
- }
-
- printf("msgid=%d\n",msgid);
复制代码 返回值msgid等于0,
所以我用以下代码发送时失败
- #define PERM S_IRUSR|S_IWUSR
- if ((msgid = msgget((key_t)SHARE_KEY, PERM)) == -1) { //获取存在的msgid值
- printf("%s:msg queue is not initialized\n",
- __FUNCTION__);
- }
- int retVal=msgsnd(msgid,pmsg,sizeof(MSG)-sizeof(long),IPC_NOWAIT);
复制代码 retVal值为-1,请问哪里出问题了,多谢 |
|