]> git.hungrycats.org Git - linux/commitdiff
Do proper signal locking for the old-style /proc/stat too.
authorLinus Torvalds <torvalds@home.transmeta.com>
Sun, 16 Feb 2003 11:56:15 +0000 (03:56 -0800)
committerLinus Torvalds <torvalds@home.transmeta.com>
Sun, 16 Feb 2003 11:56:15 +0000 (03:56 -0800)
fs/proc/array.c

index 53edb284329b4d6f2fdac8219e5a90c80d688e58..e15ffaf61f4827a15c2876f4b31343031d63d7aa 100644 (file)
@@ -316,7 +316,15 @@ int proc_pid_stat(struct task_struct *task, char * buffer)
 
        wchan = get_wchan(task);
 
-       collect_sigign_sigcatch(task, &sigign, &sigcatch);
+       sigemptyset(&sigign);
+       sigemptyset(&sigcatch);
+       read_lock(&tasklist_lock);
+       if (task->sighand) {
+               spin_lock_irq(&task->sighand->siglock);
+               collect_sigign_sigcatch(task, &sigign, &sigcatch);
+               spin_lock_irq(&task->sighand->siglock);
+       }
+       read_unlock(&tasklist_lock);            
 
        /* scale priority and nice values from timeslices to -20..20 */
        /* to make it look like a "normal" Unix priority/nice value  */