]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - kernel/exit.c
[PATCH] lightweight robust futexes: core
[mirror_ubuntu-zesty-kernel.git] / kernel / exit.c
index d1e8d500a7e127cb2915da8e2da4beab942c6e99..aecb48ca7370800e0e0d802cfbf64867d78cef4b 100644 (file)
@@ -31,6 +31,7 @@
 #include <linux/signal.h>
 #include <linux/cn_proc.h>
 #include <linux/mutex.h>
+#include <linux/futex.h>
 
 #include <asm/uaccess.h>
 #include <asm/unistd.h>
@@ -345,9 +346,9 @@ void daemonize(const char *name, ...)
        exit_mm(current);
 
        set_special_pids(1, 1);
-       down(&tty_sem);
+       mutex_lock(&tty_mutex);
        current->signal->tty = NULL;
-       up(&tty_sem);
+       mutex_unlock(&tty_mutex);
 
        /* Block and flush all signals */
        sigfillset(&blocked);
@@ -852,6 +853,8 @@ fastcall NORET_TYPE void do_exit(long code)
                exit_itimers(tsk->signal);
                acct_process(code);
        }
+       if (unlikely(tsk->robust_list))
+               exit_robust_list(tsk);
        exit_mm(tsk);
 
        exit_sem(tsk);