diff --git a/kernel/exit.c b/kernel/exit.c index dd83c841910121131a443afd3673a52b000917c0..7ef355dd3dca517ae74eaadf54f8ed50f7883290 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -1581,7 +1581,7 @@ static long do_wait(struct wait_opts *wo) (!wo->wo_pid || hlist_empty(&wo->wo_pid->tasks[wo->wo_type]))) goto notask; - current->state = TASK_INTERRUPTIBLE; + set_current_state(TASK_INTERRUPTIBLE); read_lock(&tasklist_lock); tsk = current; do { @@ -1608,7 +1608,7 @@ static long do_wait(struct wait_opts *wo) } } end: - current->state = TASK_RUNNING; + __set_current_state(TASK_RUNNING); remove_wait_queue(¤t->signal->wait_chldexit,&wait); if (wo->wo_info) { struct siginfo __user *infop = wo->wo_info;