日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
PTHREAD_MUTEXATTR(3) FreeBSD ライブラリ関数マニュアル PTHREAD_MUTEXATTR(3) 名称 pthread_mutexattr_init, pthread_mutexattr_destroy, pthread_mutexattr_setprioceiling, pthread_mutexattr_getprioceiling, pthread_mutexattr_setprotocol, pthread_mutexattr_getprotocol, pthread_mutexattr_setpshared, pthread_mutexattr_getpshared, pthread_mutexattr_setrobust, pthread_mutexattr_getrobust, pthread_mutexattr_settype, pthread_mutexattr_gettype -- ミューテックス (mutex) 属性操作 ライブラリ POSIX スレッドライブラリ (libpthread, -lpthread) 書式 #include <pthread.h> int pthread_mutexattr_init(pthread_mutexattr_t *attr); int pthread_mutexattr_destroy(pthread_mutexattr_t *attr); int pthread_mutexattr_setprioceiling(pthread_mutexattr_t *attr, int prioceiling); int pthread_mutexattr_getprioceiling(const pthread_mutexattr_t *attr, int *prioceiling); int pthread_mutexattr_setprotocol(pthread_mutexattr_t *attr, int protocol); int pthread_mutexattr_getprotocol(const pthread_mutexattr_t *restrict attr, int *restrict protocol); int pthread_mutexattr_setpshared(pthread_mutexattr_t *attr, int shared); int pthread_mutexattr_getpshared(const pthread_mutexattr_t *attr, int *shared); int pthread_mutexattr_setrobust(pthread_mutexattr_t *attr, int robust); int pthread_mutexattr_getrobust(pthread_mutexattr_t *attr, int *robust); int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int type); int pthread_mutexattr_gettype(const pthread_mutexattr_t *restrict attr, int *restrict type); 解説 ミューテックス (mutex) 属性は、pthread_mutex_init() へのパラメータを指定 するために使用されます。1 つの属性オブジェクトは、呼び出しの間の修正と共 に、または修正なしで pthread_mutex_init() への多数の呼び出しで使用できま す。 pthread_mutexattr_init() 関数は、すべてのデフォルトミューテックス属性で attr を初期化します。 pthread_mutexattr_destroy() 関数は、attr を破壊します。 pthread_mutexattr_setprioceiling() 関数は、PTHREAD_PRIO_PROTECT プロトコ ルの下で実行されるスレッドによって使用されるミューテックスのための優先順 位の上限を設定します。 pthread_mutexattr_setprotocol() 関数は、ミューテックスを利用で従うプロト コルを指定します。protocol 引数は、次の値の 1 つを取ることができます: PTHREAD_PRIO_NONE このミューテックスを所有するスレッドの優先順位とス ケジューリングは、そのミューテックスの所有権に影響 されません。 PTHREAD_PRIO_INHERIT 優先順位継承プロトコルを要求します、ここで、ミュー テックスを所有しているスレッドは、このスレッドに よって所有されるあらゆるミューテックスで待っている すべてのスレッドの優先順位のうちで最高の優先順位で 実行されます。 PTHREAD_PRIO_PROTECT 優先順位継承プロトコルを要求します、ここで、ミュー テックスを所有しているスレッドは、このスレッドに よって所有されるあらゆるミューテックスで待っている すべてのスレッドの優先順位または優先順位の上限のう ちで最高の優先順位で実行されます。 pthread_mutexattr_setrobust() 関数は、ミューテックスの堅牢性 (robustness) 属性を指定します。robust 引数のために指定できる値は、次の通りです: PTHREAD_MUTEX_STALLED ミューテックスを所有するスレッドが、ミューテックス のロックを解除せずに終了するなら、特別なアクション は、取られません。これは、他のスレッドがミューテッ クスのロックを解除できないなら、デッドロックの原因 となるかもしれません。これは、デフォルト値です。 PTHREAD_MUTEX_ROBUST 堅牢 (robust) なミューテックスを所有するスレッド、 または所有するスレッドを含むプロセスが、ミューテッ クスのロックを保持している間に終了するなら、ミュー テックスを獲得する次のスレッドは、ロック関数からの 返り値 EOWNERDEAD によって終了に関して通知されま す。次に、ミューテックスのロックの状態を修復するた めに pthread_mutex_consistent(3) 使用することがで きるか、または pthread_mutex_unlock(3) がミュー テックスのロックを解除することができますが、使用で ない状態に置かれます、ここで、ENOTRECOVERABLE エ ラーの結果となり、それを獲得するためにすべてのさら なる試みのいずれかです。 pthread_mutexattr_settype() 関数は、ミューテックスのタイプを設定します。 このタイプは、ミューテックスをロックまたはアンロックする呼び出しの振る舞 いに影響します。type 引数のために指定できる値は、次の通りです: PTHREAD_MUTEX_NORMAL 再帰的なロックと、ロックが、現在のスレッドに よって所有されていないとき、ロック解除の両方 で、対応する関数からエラーが返されます。これ は、PTHREAD_MUTEX_ERRORCHECK と一致しますが、 POSIX によって強制されている振る舞いとは多少相 反しています。 PTHREAD_MUTEX_ERRORCHECK 再帰的ロックと、ロックが、現在のスレッドによっ て所有されていないとき、ロック解除の両方で、対 応する関数からエラーが返されます。 PTHREAD_MUTEX_RECURSIVE 再帰的ロックは、許可されています。現在のスレッ ドがロックの所有者ではないとき、ロックを解除し ようと試み、エラーが返されます。 PTHREAD_MUTEX_DEFAULT FreeBSD の実装は、このタイプを PTHREAD_MUTEX_ERRORCHECK タイプにマップします。 pthread_mutexattr_get*() 関数は、2 番目の関数パラメータによって指される位 置へ各関数名に相当する属性の値をコピーします。 戻り値 成功すれば、これらの関数は 0 を返します。そうでなければ、エラーを示すため にエラー番号を返します。 エラー pthread_mutexattr_init() 関数は、次の場合に失敗します: [ENOMEM] メモリ不足。 pthread_mutexattr_destroy() 関数は、次の場合に失敗します: [EINVAL] attr が、無効の値。 pthread_mutexattr_setprioceiling() 関数は、次の場合に失敗します: [EINVAL] attr が、無効の値、または prioceiling が、無効の値。 pthread_mutexattr_getprioceiling() 関数は、次の場合に失敗します: [EINVAL] attr が、無効の値。 pthread_mutexattr_setprotocol() 関数は、次の場合に失敗します: [EINVAL] attr が、無効の値、または protocol が、無効の値。 pthread_mutexattr_getprotocol() 関数は、次の場合に失敗します: [EINVAL] attr が、無効の値。 pthread_mutexattr_setpshared() 関数は、次の場合に失敗します: [EINVAL] attr が、無効の値、または shared が、無効の値。 pthread_mutexattr_getpshared() 関数は、次の場合に失敗します: [EINVAL] attr が、無効の値。 pthread_mutexattr_settype() 関数は、次の場合に失敗します: [EINVAL] attr が、無効の値、または type が、無効の値。 pthread_mutexattr_gettype() 関数は、次の場合に失敗します: [EINVAL] attr が、無効の値。 pthread_mutexattr_setrobust() 関数は、次の場合に失敗します: [EINVAL] attr のための無効の値、または robust のための無効の 値。 pthread_mutexattr_getrobust() 関数は、次の場合に失敗します: [EINVAL] attr のための無効の値。 関連項目 pthread_mutex_init(3) 規格 pthread_mutexattr_init() と pthread_mutexattr_destroy() 関数は、ISO/IEC 9945-1:1996 (``POSIX.1'') に適合しています。 pthread_mutexattr_setprioceiling(), pthread_mutexattr_getprioceiling(), pthread_mutexattr_setprotocol(), pthread_mutexattr_getprotocol(), pthread_mutexattr_setpshared(), pthread_mutexattr_getpshared(), pthread_mutexattr_settype() と pthread_mutexattr_gettype() 関数は、 Version 2 of the Single UNIX Specification (``SUSv2'') に適合しています。 pthread_mutexattr_setrobust() と pthread_mutexattr_getrobust() 関数は、 Version 4 of the Single UNIX Specification (``SUSv4'') FreeBSD 13.2 October 1, 2021 FreeBSD 13.2