From: Oleg Nesterov Cosmetic, rename __exit_sighand to cleanup_sighand and move it close to copy_sighand(). This matches copy_signal/cleanup_signal naming, and I think it is easier to follow. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Acked-by: "Paul E. McKenney" Signed-off-by: Andrew Morton --- include/linux/sched.h | 2 +- kernel/fork.c | 12 +++++++++++- kernel/signal.c | 19 ++----------------- 3 files changed, 14 insertions(+), 19 deletions(-) diff -puN include/linux/sched.h~rename-__exit_sighand-to-cleanup_sighand include/linux/sched.h --- devel/include/linux/sched.h~rename-__exit_sighand-to-cleanup_sighand 2006-03-11 02:47:03.000000000 -0800 +++ devel-akpm/include/linux/sched.h 2006-03-11 02:47:03.000000000 -0800 @@ -1144,8 +1144,8 @@ extern void exit_thread(void); extern void exit_files(struct task_struct *); extern void __cleanup_signal(struct signal_struct *); +extern void cleanup_sighand(struct task_struct *); extern void __exit_signal(struct task_struct *); -extern void __exit_sighand(struct task_struct *); extern void exit_itimers(struct signal_struct *); extern NORET_TYPE void do_group_exit(int); diff -puN kernel/fork.c~rename-__exit_sighand-to-cleanup_sighand kernel/fork.c --- devel/kernel/fork.c~rename-__exit_sighand-to-cleanup_sighand 2006-03-11 02:47:03.000000000 -0800 +++ devel-akpm/kernel/fork.c 2006-03-11 02:47:03.000000000 -0800 @@ -804,6 +804,16 @@ static inline int copy_sighand(unsigned return 0; } +void cleanup_sighand(struct task_struct *tsk) +{ + struct sighand_struct * sighand = tsk->sighand; + + /* Ok, we're done with the signal handlers */ + tsk->sighand = NULL; + if (atomic_dec_and_test(&sighand->count)) + kmem_cache_free(sighand_cachep, sighand); +} + static inline int copy_signal(unsigned long clone_flags, struct task_struct * tsk) { struct signal_struct *sig; @@ -1216,7 +1226,7 @@ bad_fork_cleanup_mm: bad_fork_cleanup_signal: cleanup_signal(p); bad_fork_cleanup_sighand: - __exit_sighand(p); + cleanup_sighand(p); bad_fork_cleanup_fs: exit_fs(p); /* blocking */ bad_fork_cleanup_files: diff -puN kernel/signal.c~rename-__exit_sighand-to-cleanup_sighand kernel/signal.c --- devel/kernel/signal.c~rename-__exit_sighand-to-cleanup_sighand 2006-03-11 02:47:03.000000000 -0800 +++ devel-akpm/kernel/signal.c 2006-03-11 02:47:03.000000000 -0800 @@ -310,9 +310,7 @@ static void flush_sigqueue(struct sigpen /* * Flush all pending signals for a task. */ - -void -flush_signals(struct task_struct *t) +void flush_signals(struct task_struct *t) { unsigned long flags; @@ -326,19 +324,6 @@ flush_signals(struct task_struct *t) /* * This function expects the tasklist_lock write-locked. */ -void __exit_sighand(struct task_struct *tsk) -{ - struct sighand_struct * sighand = tsk->sighand; - - /* Ok, we're done with the signal handlers */ - tsk->sighand = NULL; - if (atomic_dec_and_test(&sighand->count)) - kmem_cache_free(sighand_cachep, sighand); -} - -/* - * This function expects the tasklist_lock write-locked. - */ void __exit_signal(struct task_struct *tsk) { struct signal_struct *sig = tsk->signal; @@ -386,7 +371,7 @@ void __exit_signal(struct task_struct *t } tsk->signal = NULL; - __exit_sighand(tsk); + cleanup_sighand(tsk); spin_unlock(&sighand->siglock); rcu_read_unlock(); _