当前位置:  技术问答>linux和unix

有关linux msgsnd()疑问求助

    来源: 互联网  发布时间:2017-05-20

    本文导语:  各位大侠,我在linux 3.2上写代码,用到了消息队列函数msgsnd(),发现一个奇怪问题。问题描述如下: 1.样例代码如下:     int32_t dwRet = 0;     uint8_t ucTest[20] = {1,2,3,4};     DMOMsg   *pstMsg = (DMOMsg   *)ucTest; ...

各位大侠,我在linux 3.2上写代码,用到了消息队列函数msgsnd(),发现一个奇怪问题。问题描述如下:
1.样例代码如下:
    int32_t dwRet = 0;
    uint8_t ucTest[20] = {1,2,3,4};
    DMOMsg   *pstMsg = (DMOMsg   *)ucTest;
    pstMsg ->udwMsgID   =   SCOM_MSG_RX;  //此行代码会导致发送失败
    
     dwRet = msgsnd(mq_id, ucTest, 20, IPC_NOWAIT);
//     printf("snd ret %d,errno:%dn",dwRet,errno);

如上代码,我如果调用了一次: pstMsg ->udwMsgID   =   SCOM_MSG_RX 这行代码,会导致下面的msgsnd()函数失败,此时查看errno,错误码是22,也就是无效的参数。但是我如果不调用这一行代码,发送消息就会正确,我在其他地方可以正确读出消息队列里的消息{1,2,3,4}这串数据。

为什么会这样呢?我只是简单的执行了一条: pstMsg ->udwMsgID   =   SCOM_MSG_RX 代码,理论上只是对ucTest[]数组进行了一次赋值操作而已,就会导致后面的msgsnd()失败呢?

百思不得其解,还望大侠指点一下。多谢!

|
应该是这个结构体定义的有问题:DMOMsg
设置成员变量udwMsgID的时候,msgsnd发送的消息,需要的那个mttype是个非法值
struct mymsg {
    long int    mtype;       /* message type */
    char        mtext[1];    /* message text */
};
可以定义个这样的结构体,第一个mtype不要写成负数
原文中这么说的:The structure member mtype is a non-zero positive type long int that can be used by the receiving process for message selection.
看看这个里面的解释:http://pubs.opengroup.org/onlinepubs/007908799/xsh/msgsnd.html

    
 
 

您可能感兴趣的文章:

  • 有关 在 JSWDK 服务器 下使用 .shtml 文件的疑问??
  • 有关date 问题的一个疑问。 。 还望各位帮帮忙!!
  • 有关 AIX 编程兼容性方面的疑问
  • 有关configure的疑问
  • (最好看看,也许你也不知道)有关指针变量定义时赋初值的疑问
  • 有关磁盘空间的疑问--急
  • 一个有关服务端非阻塞socket的疑问
  • 本人菜鸟, 请各位大虾帮帮忙,进来交流交流,有关我毕设的一些疑问?
  • 有关会话期跟控制终端的疑问
  • 100分求助 能不能提供一些有关图像分割的算法和实现代码!谢谢
  • 求助ftp编程高手一个问题----有关免费包libftp-5.0
  • 高分求助,有关QT/C++的问题
  • 求助一个方法,简单阿!!!!!有关删除文件夹的
  • 求助:有关GBA的开发软件
  • 有关shell的小问题,紧急求助!
  • 求助:有关gdb
  • 紧急求助,有关mount刷新的问题!解决了还可以加分!
  • 有关安全上下文求助
  • 求助!有关goAhead webserver
  • 菜鸟求助!有关linux安装问题!
  • [求助]c语言有关?:的问题。
  • 有关服务器的几个问题,求助?
  • 对不起,借地方发一贴 ??????求助dos下批处理的有关问题,70分相送!
  • 求助:有关shell编程的问题
  • 新手求助:有关Red Hat的安装
  • 求助有关iptables的问题
  • 100分求助linux下与grep有关的正则表达式匹配问题
  • 高分求助——有关linux的安装问题
  • 求助:有关串口发送字符串问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ​有关Docker的八个令人难以置信的事实
  • 有关内码转换(跟HttpServletRequest有关)
  • 求有关png图像处理的libpng库的有关中文资料
  • 大家推荐一下有关LINUX7有关的网络编程的书。最好是比较全面的!比较经典的。
  • 求教有关smartupload的问题,有关就给分!!
  • 有关KDevelop-3.0.4-0.1.i386.rpm的有关软件包
  • 有关在sco unix5.0.4下有关网卡设置的问题(非常急,高分相送)
  • 有关snmp的一个很菜,但是困扰了我很久的问题,有关工作原理的,望大家赐教
  • 有关KDevelop编程的资料
  • 有关集群与数据同步
  • 请教有关英文简历方面的词句!
  • 有关报表打印(在JAVA,WEB下应用)急用!
  • 请各位大哥告知JAVA中消息机制的有关资料,拜托!
  • 有关cocoon的问题??
  • 有关jbuilder
  • 有关configure的疑问 iis7站长之家
  • 有关J2ME的帮助文档!
  • 在哪里可以弄到有关tomcat配置方面的资料?
  • Helper! 有关Jbuilder使用问题???
  • 有关swing的问题,请高手回答
  • 请问哪里有jboss有关配置的教程,最好是中文的,先谢了


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,