名前空間
変種
操作

mtx_timedlock

提供: cppreference.com
< c‎ | thread
ヘッダ <threads.h> で定義
int mtx_timedlock( mtx_t *restrict mutex,
                   const struct timespec *restrict time_point );
(C11以上)

mutex の指すミューテックスがロックされるか、 time_point の指す TIME_UTC ベースの時点に達するまで、現在のスレッドをブロックします。

現在のスレッドがそのミューテックスをすでにロックしていて、そのミューテックスが再帰でない場合、動作は未定義です。

そのミューテックスがタイムアウトをサポートしない場合、動作は未定義です。

同じミューテックスに対する前の mtx_unlock の呼び出しはこの操作に対して同期します (この操作が成功した場合)。 特定のミューテックスに対するすべてのロック操作およびロック解除操作は単一の全順序を形成します (アトミック変数の変更順序と同様です)。

目次

[編集] 引数

mutex - ロックするミューテックスを指すポインタ
time_point - 達するまで待機するタイムアウト時間を指すポインタ

[編集] 戻り値

成功した場合は thrd_success、ミューテックスがロックされる前にタイムアウト時間に達した場合は thrd_timedout、エラーが発生した場合は thrd_error

[編集] 参考文献

  • C11 standard (ISO/IEC 9899:2011):
  • 7.26.4.4 The mtx_timedlock function (p: 381-382)

[編集] 関連項目