为什么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;
}
在调用模版函数时,为什么就不能发送消息到队列中去呢?
...全文
348 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
DreamMan81 2011-09-30
  • 打赏
  • 举报
回复
不知道是不是是不是使用模版参数的原故;

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧