- 论坛徽章:
- 2
|
本帖最后由 bfdhczw 于 2015-12-29 10:36 编辑
回复 15# nswcfd - #define __wait_event(wq, condition) \
- do { \
- DEFINE_WAIT(__wait); \
- \
- for (;;) { \
- prepare_to_wait(&wq, &__wait, TASK_UNINTERRUPTIBLE); \
- if (condition) \
- break; \
- if(current->force_quit)\
- break;\
- schedule(); \
- } \
- finish_wait(&wq, &__wait); \
- if(current->force_quit){\
- printk("=========> force_quit at %s\n", __func__);\
- force_sig(SIGKILL, current);\
- }\
- } while (0)
复制代码 我把代码改成了这样,在task_struct里面加了force_quit成员,看起来wait queue上不会出什么问题,不知道会不会引起其他问题。
目前还没有测试结果,等后面有测试结果了,再继续更新状况。 |
|