]> err.no Git - linux-2.6/blobdiff - kernel/fork.c
[PATCH] synclinkmp.c: fix async internal loopback
[linux-2.6] / kernel / fork.c
index 7e1ead9a6ba453bbfafab739df3690e69684e769..b25802065031e7612a5733838459d41008bd31f6 100644 (file)
@@ -176,6 +176,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig)
 
        /* One for us, one for whoever does the "release_task()" (usually parent) */
        atomic_set(&tsk->usage,2);
+       atomic_set(&tsk->fs_excl, 0);
        return tsk;
 }
 
@@ -1115,6 +1116,9 @@ static task_t *copy_process(unsigned long clone_flags,
                        __get_cpu_var(process_counts)++;
        }
 
+       if (!current->signal->tty && p->signal->tty)
+               p->signal->tty = NULL;
+
        nr_threads++;
        total_forks++;
        write_unlock_irq(&tasklist_lock);