pthread_mutexattr_destroy または pthread_mutexattr_init サブルーチン
目的
mutex 属性を初期化および破棄します。
ライブラリー
スレッド・ライブラリー (libpthreads.a)
構文
#include <pthread.h>
int pthread_mutexattr_init (attr)
pthread_mutexattr_t *attr;
int pthread_mutexattr_destroy (attr)
pthread_mutexattr_t *attr;説明
関数 pthread_mutexattr_init は、インプリメンテーションによって定義されたすべての属性のデフォルト値を使用して、mutex 属性オブジェクト attr を初期化します。
既に初期化されている mutex 属性オブジェクトの初期化の影響は未定義です。
mutex 属性オブジェクトを使用して 1 つ以上の mutex を初期化した後は、属性オブジェクトに影響を与える関数 (破棄を含む) は、以前に初期化された mutex には影響しません。
pthread_mutexattr_destroy 関数は、mutex 属性オブジェクトを破棄します。オブジェクトは、事実上、初期化されていない状態になります。 インプリメンテーションが原因で、 pthread_mutexattr_destroy が attr によって参照されるオブジェクトを無効な値に設定することがあります。 破棄された mutex 属性オブジェクトは、 pthread_mutexattr_initを使用して再初期化することができます。それ以外の場合、破棄されたオブジェクトを参照する結果は未定義です。
パラメーター
| 項目 | 説明 |
|---|---|
| attr | 初期化または削除する mutex 属性オブジェクトを指定します。 |
戻り値
正常終了すると、 pthread_mutexattr_init および pthread_mutexattr_destroy はゼロを戻します。 正常に実行されなかった場合、エラーを示すエラー番号を戻します。
エラー・コード
pthread_mutexattr_init 関数は、以下の場合には失敗します。
| 項目 | 説明 |
|---|---|
| ENOMEM | mutex 属性オブジェクトを初期化するためのメモリーが不足しています。 |
pthread_mutexattr_destroy 関数は、以下の場合に失敗します。
| 項目 | 説明 |
|---|---|
| EINVAL | attr によって指定された値が無効です。 これらの関数は EINTR を返しません。 |