マルチスレッドのプログラミング

pthread_cond_timedwait の戻り値

pthread_cond_timedwait() は、正常終了時に 0 を返します。それ以外の戻り値は、エラーが発生したことを示します。以下の条件が検出されると、この関数は失敗し、次の値を戻します。


EINVAL

説明:

cvmp、または abstime が不当なアドレスを指しています。


EINVAL

説明:

同じ条件変数への並行した pthread_cond_timedwait() 操作に対して異なる mutex が指定されました。


ETIMEDOUT

説明:

abstime で指定された時刻を過ぎています。


EPERM

説明:

呼び出し時に、mutex が現在のスレッドによって所有されていませんでした。

時間切れの指定は時刻で行うため、時間切れ時刻を再計算する必要がなく、効率的に条件を再評価できます。例 4–9 を参照してください。