msgsend

    0热度

    1回答

    我有一个消息队列,我从中获取消息循环。问题是我不知道如何退出循环。 msgrcv返回类型size_t,所以它继续前进。我应该比较什么值的返回值,所以我可以退出循环? while(msgrcv(msqid, &msgreceived, sizeof(msgreceived), BUFFER_CHANGED, 0) != -1){ printf("%d %d %d %d ",msgrecei

    1热度

    1回答

    我试图在游戏中的不同场景之间切换。我从我的GameLayer切换到配置场景第一,然后再切换回使用下面的代码,但游戏崩溃: -(void) backToGame { [[CCDirector sharedDirector] replaceScene:[GameLayer scene]]; } 我收到的日志: thread #1: tid = 0x1c03, 0x350ebf78 l

    0热度

    1回答

    我使用MsgSendv和服务器发送MSgReply这样的: char desc_buf_out[MAX_CHARS_IN_A_LINE]; MsgReply(rcvid, EOK, desc_buf_out, sizeof(desc_buf_out)); 我的客户正在寻找这样的: iov_t *iovrcv=calloc(1,sizeof(iov_t)); char

    0热度

    2回答

    您好我正在使用一些共享内存在不同的进程读取和写入数据。我正在使用消息队列来存储数据在读取和写入操作之间发生更改的消息。 /* struct that defines a message */ struct msgbuf{ long mtype; /* must be positive */ int childId; //ID of child sending messa