mtx_timedlock
|
ヘッダーで定義
<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 エラーが発生した場合。
参考文献
- C17規格 (ISO/IEC 9899:2018):
-
- 7.26.4.4 mtx_timedlock関数 (p: 278)
- C11規格 (ISO/IEC 9899:2011):
-
- 7.26.4.4 mtx_timedlock関数 (p: 381-382)
関連項目
|
(C11)
|
秒とナノ秒での時間
(構造体) |
|
(C11)
|
ミューテックスをロックするまでブロックする
(関数) |
|
(C11)
|
ミューテックスをロックするか、既にロックされている場合はブロックせずに返す
(関数) |
|
(C11)
|
ミューテックスをアンロックする
(関数) |
|
C++ documentation
for
timed_mutex::try_lock_until
|
|
|
C++ documentation
for
recursive_timed_mutex::try_lock_until
|
|
外部リンク
| GNU GCC Libc マニュアル: ISO-C-Mutexes |