linux-2.6.33/__wait_event_interruptible()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#h85f3b2e]
#backlinks
*説明 [#bcae8f62]
-パス: [[linux-2.6.33/include/linux/wait.h]]
-FIXME: これは何?
--説明
**引数 [#q232cbae]
-wait_queue_head_t *wq
--タスクが待機するキューを指定する。
--[[linux-2.6.33/wait_queue_head_t]]
-condition
--待ち受ける条件を指定する。この条件が真になるまで待つ。
--指定した式は if () の条件式として評価される(例: (a > 0...
-int ret
--返り値を格納する変数を指定する。
--ポインタではない。あえて言うなら参照のような使い方をし...
**返り値 [#h810b4ac]
-なし
**参考 [#idf659ba]
*実装 [#p255f986]
#define __wait_event_interruptible(wq, condition, ret) \
do { \
DEFINE_WAIT(__wait); \
\
-
--[[linux-2.6.33/DEFINE_WAIT()]]
for (;;) { \
prepare_to_wait(&wq, &__wait, TASK_INTERRUPTIBLE); \
-
--[[linux-2.6.33/prepare_to_wait()]]
if (condition) \
break; \
if (!signal_pending(current)) { \
-
--[[linux-2.6.33/signal_pending()]]
--[[linux-2.6.33/current(global)]]
schedule(); \
-
--[[linux-2.6.33/schedule()]]
continue; \
} \
ret = -ERESTARTSYS; \
break; \
-
--[[linux-2.6.33/ERESTARTSYS]]
} \
finish_wait(&wq, &__wait); \
-
--[[linux-2.6.33/finish_wait()]]
} while (0)
*コメント [#t525c1dd]
終了行:
*参照元 [#h85f3b2e]
#backlinks
*説明 [#bcae8f62]
-パス: [[linux-2.6.33/include/linux/wait.h]]
-FIXME: これは何?
--説明
**引数 [#q232cbae]
-wait_queue_head_t *wq
--タスクが待機するキューを指定する。
--[[linux-2.6.33/wait_queue_head_t]]
-condition
--待ち受ける条件を指定する。この条件が真になるまで待つ。
--指定した式は if () の条件式として評価される(例: (a > 0...
-int ret
--返り値を格納する変数を指定する。
--ポインタではない。あえて言うなら参照のような使い方をし...
**返り値 [#h810b4ac]
-なし
**参考 [#idf659ba]
*実装 [#p255f986]
#define __wait_event_interruptible(wq, condition, ret) \
do { \
DEFINE_WAIT(__wait); \
\
-
--[[linux-2.6.33/DEFINE_WAIT()]]
for (;;) { \
prepare_to_wait(&wq, &__wait, TASK_INTERRUPTIBLE); \
-
--[[linux-2.6.33/prepare_to_wait()]]
if (condition) \
break; \
if (!signal_pending(current)) { \
-
--[[linux-2.6.33/signal_pending()]]
--[[linux-2.6.33/current(global)]]
schedule(); \
-
--[[linux-2.6.33/schedule()]]
continue; \
} \
ret = -ERESTARTSYS; \
break; \
-
--[[linux-2.6.33/ERESTARTSYS]]
} \
finish_wait(&wq, &__wait); \
-
--[[linux-2.6.33/finish_wait()]]
} while (0)
*コメント [#t525c1dd]
ページ名: