EN JA
MQ_SETATTR(2)
MQ_SETATTR(2) FreeBSD System Calls Manual MQ_SETATTR(2)

名称

mq_setattrメッセージキューの属性を設定する (リアルタイム)

ライブラリ

POSIX Real-time Library (librt, -lrt)

書式

#include < mqueue.h>

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

解説

mq_setattr() システムコールは、 mqdes によって指定されたメッセージキュー記述子によって参照されるオープンしているメッセージキュー記述に関連している属性を設定します。 mq_attr 構造体で定義された次のメンバに対応するメッセージキューの属性は、 mq_setattr() が成功して終了した場合、指定された値に設定されます:
mq_flags
このメンバの値は、0 か、または O_NONBLOCK です。

mq_attr 構造体の mq_maxmsg, mq_msgsizemq_curmsgs メンバの値は、 mq_setattr() によって無視されます。

戻り値

成功して終了すれば、関数は、0 の値を返し、メッセージキューの属性は、指定されるように変更されます。

そうでなければ、メッセージキューの属性は変更されず、関数は、-1 の値を返して、グローバル変数 errno にエラーを示す値が設定されます。

エラー

mq_setattr() システムコールは、次の場合に失敗します:
[ EBADF]
mqdes 引数が、有効なメッセージキュー記述子ではありません。

規格

mq_setattr() システムコールは、 IEEE Std 1003.1-2004 (“POSIX.1”) に適合しています。

歴史

POSIX メッセージキューのサポートは、 FreeBSD 7.0 ではじめて登場しました。

COPYRIGHT

Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.
May 17, 2011 FreeBSD