为什么msgsnd发送信息总是失败

DreamMan81 高级软件工程师  2011-09-30 08:47:28
bool CDistributeInterface<T>::deliverMsg(CReader* pReader, T *pMsg)
{
#ifndef WIN32
printf("msgsnd %u. \n", pReader->getId());

struct MYTest
{
long msgType ;
T* pMsg;
};
int iRet = msgsnd(pReader->getId(), (void*)pMsg, sizeof(T)-sizeof(long), IPC_NOWAIT );
if (iRet < 0)
{
printf("iRet=%d \n", iRet);
if (EACCES == errno) printf("--- EACCES.\n");
else if (EAGAIN == errno) printf("--- EAGAIN. \n");
else if (EFAULT == errno) printf("--- EFAULT. \n");
else if (EIDRM == errno) printf("--- EIDRM. \n");
else if (EINTR == errno) printf("--- EINTR\n");
else if (EINVAL==errno) printf("---EINVAL \n");
else if (ENOMEM == errno) printf("--- ENOMEM \n");
else printf("unknown \n");
}
#endif

return true;
}

现在我有一个结构体
structor MyTest
{
int Msgtype;
short index;
char Buf[2048];
int dpc;
}
在调用模版函数时,为什么就不能发送消息到队列中去呢?
...全文
255 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
DreamMan81 2011-09-30
不知道是不是是不是使用模版参数的原故;
回复
相关推荐
发帖
其它技术问题
创建于2007-09-28

3849

社区成员

C/C++ 其它技术问题
申请成为版主
帖子事件
创建了帖子
2011-09-30 08:47
社区公告
暂无公告