nlib
|
セマフォを実装しています。 [詳解]
#include "nn/nlib/threading/Semaphore.h"
公開メンバ関数 | |
errno_t | Init (int initial_count) noexcept |
セマフォを初期化します。 [詳解] | |
errno_t | Release (int *previous_count) noexcept |
セマフォを1つリリースします。 [詳解] | |
errno_t | Release (int release_count, int *previous_count) noexcept |
セマフォを複数個リリースします。 アトミックには実行されないかもしれません。 [詳解] | |
errno_t | Acquire () noexcept |
セマフォを1つロックします。 [詳解] | |
errno_t | TryAcquire () noexcept |
セマフォのロックを試みます。 [詳解] | |
errno_t | TryAcquire (const nlib_ns::TimeSpan &timeout) noexcept |
セマフォをタイムアウトつきで1つロックします。 [詳解] | |
セマフォを実装しています。
Semaphore.h の 12 行目に定義があります。
|
inlinenoexcept |
|
inlinenoexcept |
セマフォを初期化します。
[in] | initial_count | セマフォの初期値 |
0 | 初期化が成功した場合 |
EINVAL | initialCount が大きすぎる場合 |
Semaphore.h の 18 行目に定義があります。
|
inlinenoexcept |
セマフォを1つリリースします。
[out] | previous_count | NULL 以外を指定すると以前のセマフォの値が格納されます。 |
0 | 成功した場合 |
EINVAL | セマフォが有効でない場合 |
EOVERFLOW | セマフォが既に最大カウントの場合 |
Semaphore.h の 21 行目に定義があります。
|
inlinenoexcept |
セマフォを複数個リリースします。 アトミックには実行されないかもしれません。
[in] | release_count | リリースするセマフォのカウント数です。 |
[out] | previous_count | NULL 以外を指定すると以前のセマフォの値が格納されます。 |
0 | 成功した場合 |
EINVAL | セマフォが有効でない場合 |
EOVERFLOW | セマフォが最大カウントを超える場合。この場合の実行後のセマフォカウントは不定になります。 |
ENOTSUP | プラットフォームが複数個のリリースがサポートしていない場合。 |
Semaphore.h の 24 行目に定義があります。
|
inlinenoexcept |
|
inlinenoexcept |
セマフォをタイムアウトつきで1つロックします。
[in] | timeout | タイムアウト時間 |
0 | ロックできた場合 |
EINVAL | セマフォが有効でない場合 |
ETIMEDOUT | タイムアウトした場合 |
Semaphore.h の 31 行目に定義があります。
© 2012-2016 Nintendo Co., Ltd. All rights reserved.