FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 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 は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | 書式 | 解説 | 戻り値 | エラー | 関連項目
CONDVAR(9)             FreeBSD カーネル開発者マニュアル             CONDVAR(9)

名称
     condvar, cv_init, cv_destroy, cv_wait, cv_wait_sig, cv_wait_unlock,
     cv_timedwait, cv_timedwait_sbt, cv_timedwait_sig, cv_timedwait_sig_sbt,
     cv_signal, cv_broadcast, cv_broadcastpri, cv_wmesg -- カーネル状態変数

書式
     #include <sys/param.h>
     #include <sys/proc.h>
     #include <sys/condvar.h>

     void
     cv_init(struct cv *cvp, const char *desc);

     void
     cv_destroy(struct cv *cvp);

     void
     cv_wait(struct cv *cvp, lock);

     int
     cv_wait_sig(struct cv *cvp, lock);

     void
     cv_wait_unlock(struct cv *cvp, lock);

     int
     cv_timedwait(struct cv *cvp, lock, int timo);

     int
     cv_timedwait_sbt(struct cv *cvp, lock, sbintime_t sbt, sbintime_t pr,
         int flags);

     int
     cv_timedwait_sig(struct cv *cvp, lock, int timo);

     int
     cv_timedwait_sig_sbt(struct cv *cvp, lock, sbintime_t sbt, sbintime_t pr,
         int flags);

     void
     cv_signal(struct cv *cvp);

     void
     cv_broadcast(struct cv *cvp);

     void
     cv_broadcastpri(struct cv *cvp, int pri);

     const char *
     cv_wmesg(struct cv *cvp);

解説
     状態変数は、状態が起こるのを待つために mutex (ミューテックス) とともに使
     用されます。状態変数は、cv_init() で作成され、ここで cvp は、struct cv の
     ための空間を指し、desc は、状態変数を記述するヌル文字で終了する文字列への
     ポインタです。状態変数は、cv_destroy() で破壊されます。スレッドは、
     cv_wait(), cv_wait_sig(), cv_wait_unlock(), cv_timedwait() または
     cv_timedwait_sig() を呼び出すことによって、状態変数でウェートします。ス
     レッドは、1 つのウェイタ (waiter) のブロックを解除するために cv_signal()
     を呼び出すことによってウェイタのブロックを解除するか、またはすべてのウェ
     イタのブロックを解除するために cv_broadcast() または cv_broadcastpri() を
     呼び出すことによってウェイタ (waiter) のブロックを解除します。ウェイタ
     (waiter) を起こすことに加えて、cv_broadcastpri() は、あらゆるスレッドの優
     先度を上げることによって、すべてのウェイタが少なくとも pri の優先度がある
     ことを保証します。cv_wmesg() は、cv_init() への最初の呼び出しによって設定
     されるように、cvp の記述文字列を返します。

     lock 引数は、mutex(9), rwlock(9) または sx(9) ロックのいずれかへのポイン
     タです。mutex(9) 引数は、MTX_SPIN ではなく、MTX_DEF で初期化されなければ
     なりません。スレッドは、cv_wait(), cv_wait_sig(), cv_wait_unlock(),
     cv_timedwait() または cv_timedwait_sig() を呼び出す前に lock を保持しなけ
     ればなりません。スレッドがある状態でウェートするときに、lock は、そのス
     レッドがブロックされる前に不可分に開放され、それからその関数呼び出しが戻
     る前に再獲得されます。さらに、スレッドは、サスペンド (一時停止) している
     間に、(たとえ、繰り返されても) Giant mutex を完全に落とし、関数が返る前
     に、Giant mutex を再獲得します。cv_wait_unlock() 関数は、返る前に、ロック
     を再獲得しません。Giant mutex が、lock として指定されるかもしれないことに
     注意してください。しかしながら、Giant は、cv_wait_unlock() 関数のために
     lock として使用されません。すべてのウェイタ (waiter) は、cvp と関連する同
     じ lock を渡さなければなりません。

     cv_wait(), cv_wait_sig(), cv_wait_unlock(), cv_timedwait() と
     cv_timedwait_sig() がブロックを解除するとき、それらの呼び出しているスレッ
     ドは、実行可能とされます。cv_timedwait() と cv_timedwait_sig() は、ブロッ
     クを解除して、EWOULDBLOCK を返す前に、多くても timo / HZ 秒待ちます。そう
     でなければ、それらは、0 を返します。cv_wait_sig() と cv_timedwait_sig()
     は、シグナルが捕獲されるか、または cv_signal() または cv_broadcast() に
     よってシグナルが送られるなら、EINTR または ERESTART の値で時期を早めて返
     ります。

     cv_timedwait_sbt() と cv_timedwait_sig_sbt() 関数は、timo の代わりに sbt
     引数を取ります。それは、sbintime_t の形式でより高い解像度がある、相対的
     か、または絶対的なブロック解除 (unblock) 時間を指定することができます。パ
     ラメータ pr によって、必要とされる絶対的なイベントの正確さを指定すること
     ができます。パラメータ flags によって、追加の callout_reset_sbt() フラグ
     を渡すことができます。

戻り値
     成功するなら、cv_wait_sig(), cv_timedwait() と cv_timedwait_sig() は、0
     を返します。そうでなければ、0 以外のエラーコードが返されます。

     cv_wmesg() は、cv_init() に渡された記述文字列を返します。

エラー
     cv_wait_sig() と cv_timedwait_sig() は、次の場合に失敗します:

     [EINTR]            シグナルが捕獲され、システムコールが、割り込まれるべき
                        です。

     [ERESTART]         シグナルが捕獲され、システムコールが、再開されるべきで
                        す。

     cv_timedwait() と cv_timedwait_sig() は、次の場合に失敗します:

     [EWOULDBLOCK]      タイムアウトが満了しました。

関連項目
     locking(9), mtx_pool(9), mutex(9), rwlock(9), sema(9), sleep(9), sx(9),
     timeout(9)

FreeBSD 11.4                   February 19, 2013                  FreeBSD 11.4

Table of Contents

FreeBSD マニュアル検索