X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fproc%2Farray.c;h=765cc29949c9dc18a27c4b489f3546db1937faf4;hb=7172c64a7cee4dfa95864f49c914f7ea8cf497c8;hp=715194f0a50d69b554956d6dc282984277f63457;hpb=3967a72a825e44bff5d10f516e90b6f59f59e599;p=linux-2.6.git diff --git a/fs/proc/array.c b/fs/proc/array.c index 715194f0a..765cc2994 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c @@ -408,6 +408,8 @@ static int do_task_stat(struct task_struct *task, char * buffer, int whole) sigemptyset(&sigign); sigemptyset(&sigcatch); cutime = cstime = utime = stime = cputime_zero; + + mutex_lock(&tty_mutex); read_lock(&tasklist_lock); if (task->sighand) { spin_lock_irq(&task->sighand->siglock); @@ -453,6 +455,7 @@ static int do_task_stat(struct task_struct *task, char * buffer, int whole) pgid = vx_info_map_pid(task->vx_info, pgid); read_unlock(&tasklist_lock); + mutex_unlock(&tty_mutex); if (!whole || num_threads<2) { wchan = 0;