On Mon, Feb 20, 2006 at 07:04:32PM +0300, Oleg Nesterov wrote:
> 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.
Passes steamroller, looks sane, but defer to others on the relative
desireability of the names. (Yes, I am a philistine!)
Acked-by: <[email protected]>
> Signed-off-by: Oleg Nesterov <[email protected]>
>
> --- 2.6.16-rc3/include/linux/sched.h~4_ESGH 2006-02-20 02:01:27.000000000 +0300
> +++ 2.6.16-rc3/include/linux/sched.h 2006-02-20 21:00:09.000000000 +0300
> @@ -1142,8 +1142,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);
> --- 2.6.16-rc3/kernel/fork.c~4_ESGH 2006-02-20 02:02:38.000000000 +0300
> +++ 2.6.16-rc3/kernel/fork.c 2006-02-20 21:14:25.000000000 +0300
> @@ -801,6 +801,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;
> @@ -1212,7 +1222,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:
> --- 2.6.16-rc3/kernel/signal.c~4_ESGH 2006-02-20 20:55:50.000000000 +0300
> +++ 2.6.16-rc3/kernel/signal.c 2006-02-20 21:06:49.000000000 +0300
> @@ -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();
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]