NAME

mq_getattr - 获取消息队列的属性(REALTIME)

SYNOPSIS

#include <mqueue.h>

int mq_getattr(mqd_t mqdes, struct mq_attr *mqstat);

Date Structure

An mq_attr structure shall have at least the following fields:

struct mq_attr {
long mq_flags; /* Flags: 0 or O_NONBLOCK */
long mq_maxmsg; /* Max. # of messages on queue */
long mq_msgsize; /* Max. message size (bytes) */
long mq_curmsgs; /* # of messages currently in queue */
};

DESCRIPTION

函数 mq_getattr() 能够获取消息队列的属性,取得的结果存放在参数 mqstat 指针指向的内存.

消息队列的4种属性如下:

mq_flags

  该属性会在函数mq_open(3) 创建消息队列时被初始化. 他只有2个值O_NONBLOCK(非阻塞)和 0 (阻塞).

mq_maxmsg

  消息队列中最多能容纳的消息个数.

mq_msgsize

  每个消息的最大字节数.

mq_curmsgs
当前消息队列中正在排队的消息个数.

PARAMETERS

mqdes

消息队列的描述符

mqstat

指向消息队列属性结构体的指针

RETURN VALUE

如果函数执行成功, 函数返回0

如果函数执行失败,函数返回 -1 并且设置errno,errno的种别详见下面的ERRORS一节.

ERRORS

[EBADF]

参数 mqdes 不是有效的消息队列描述符.

 

EXAMPLES

mq_getattr的更多相关文章

  1. 002:IPC与system函数简介

    1:IPC名字mq_XXX,sem_XXX,shm_XXX. 消息队列 信号量 共享内存区 <mqueue.h> <semaphore.h> <sys.mman.h> ...

  2. Linux IPC POSIX 消息队列

    模型: #include<mqueue.h> #include <sys/stat.h> #include <fcntl.h> mq_open() //创建/获取消 ...

  3. IPC-----POSIX消息队列

    消息队列可以认为是一个链表.进程(线程)可以往里写消息,也可以从里面取出消息.一个进程可以往某个消息队列里写消息,然后终止,另一个进程随时可以从消息队列里取走这些消息.这里也说明了,消息队列具有随内核 ...

  4. Posix消息队列

    转载于:http://blog.csdn.net/zx714311728/article/details/53197196 1.消息队列 消息队列可以认为是一个消息链表,消息队列是随内核持续的.队列中 ...

  5. IPC 机制简介

    IPC 机制简介 概述 在Unix早期发展中,做出重大贡献的两大主力Bell实验室和伯克利大学(BSD)在IPC(InterProcess Communication)方面的侧重点有所不同.前者对Un ...

  6. 第5章 Posix 消息队列

    5.1 概述 消息队列可以认为是一个链表.有写权限的线程可往消息队列中放置消息,有读权限的线程可以从消息队列中取走消息. 消息队列和管道/FIFO的区别: (1)消息队列往一个队列中写消息前,并不需要 ...

  7. posix 消息队列

    注意 在涉及到posix消息的函数时, gcc 编译时要加-lrt参数, 如 gcc -lrt unpipc.c mqpack.c send.c -o send gcc -lrt unpipc.c m ...

  8. Linux进程间通信IPC学习笔记之消息队列(Posix)

    基础知识: 消息队列可认为是一个消息链表,有足够写权限的线程可往队列中放置消息,有足够读权限的线程可以从队列中取走消息.在某个进程往一人队列写入消息之前,并不需要另外某个进程在该队列上等待消息的到达. ...

  9. [转]linux的ulimit各种限制之深入分析

    这是一篇非常好的文章,对ulimit的各个限制参数讲得非常透彻.原文链接:http://home.lupaworld.com/home-space-uid-56821-do-blog-id-23281 ...

随机推荐

  1. c判断括弧是否匹配

    这里我没有用堆栈.直接用一个数组input[SIZE]接收用户的输入,在遍历数组,对数组进行操作.已经匹配好的括弧直接用#号覆盖,最后遍历数组.如果数组只有#号,没有其他元素,则匹配.否则不匹配. / ...

  2. 单元测试篇----cppUnit的安装与使用

    在刚学习单元测试章节的时候,尝试着使用dev—c++来编译cppunit,但一直没成功,也尝试问过同学,一直没有很好的方法,因此浪费了不少时间.今天又耐心的尝式一下,意外成功了.以下是详细的安装步骤: ...

  3. Windows 7系统下删除开机引导项的方法

    Windows 7系统下删除开机引导项的方法: 1.使用管理员权限运行cmd,在命令行窗口使用  bcdedit 回车 2.查找description为你想删除的段,看对应的标识符是多少, 然后使用 ...

  4. (转)c语言学习volatile

    原文网址:http://www.cnblogs.com/chio/archive/2007/11/24/970632.html 参考网址:http://www.embedu.org/Column/Co ...

  5. token验证-微信公众平台开发3(asp.net)

    童鞋们直接看代码吧:(我这里是ashx处理程序写的类,开发过网站的一般都知道) <%@ WebHandler Language="C#" class="weixin ...

  6. 跨平台base64数据传输注意问题

    今天用base64编码传输json串,android端那边始终看不到图片! 首先发现android端接收的json串长度不一致,仔细研究发现android端接收到的json数据里把服务器数据里的&qu ...

  7. 系统集成之用户统一登录( LDAP + wso2 Identity Server)

    本文场景: LDAP + wso2 Identity Server + asp.net声明感知 场景 ,假定读者已经了解过ws-*协议族,及 ws-trust 和 ws-federation. 随着开 ...

  8. 引擎设计跟踪(九.14.2i) Android GLES 3.0 完善

    最近把渲染设备对应的GLES的API填上了. 主要有IRenderDevice/IShader/ITexture/IGraphicsResourceManager/IIndexBuffer/IVert ...

  9. Linux查看日志命令

    tail -f /var/log/apport.log more /var/log/xorg.0.log cat /var/log/mysql.err less /var/log/messages g ...

  10. nodeJs入门篇之认识nodejs

    摘要:将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎.chrome浏览器就基于V8,同时打开 ...