mq_setattr

NAME

mq_setattr - 设置消息队列的属性(REALTIME)

SYNOPSIS

#include <mqueue.h>

int mq_setattr(mqd_t mqdes, const struct mq_attr *restrict mqstat, struct mq_attr *restrict omqstat);

Data 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_setattr() 能够设置消息队列的属性.

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

mq_flags

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

下面3种属性会被 mq_setattr() 忽略.

mq_maxmsg

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

mq_msgsize

  每个消息的最大字节数.

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

如果参数 omqstat 不是NULL, 函数mq_setattr() 将会把旧的属性存储到omqstat 指向的内存.

PARAMETERS

mqdes [IN]

消息队列的描述符

mqstat [IN]

指向新的(要设置的)消息队列属性结构体的指针

③omqstat [OUT]

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

RETURN VALUE

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

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

ERRORS

[EBADF]

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

 

EXAMPLES

上一篇:mysql中文字段转拼音首字母,以及中文拼音模糊查询


下一篇:008sudo用户管理