1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- do { \
- DECLARE_WAITQUEUE(__wait, current); \
- \
- add_wait_queue(&wq, &__wait); \
- for (;;) { \
- set_current_state(TASK_UNINTERRUPTIBLE);\
- if (cond) \
- break; \
- unlock_cmd; \
- io_schedule(); \
- lock_cmd; \
- } \
- __set_current_state(TASK_RUNNING); \
- remove_wait_queue(&wq, &__wait); \
- } while (0)
|