aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorRoland McGrath <roland@redhat.com>2005-01-04 05:38:01 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-01-04 05:38:01 -0800
commit183986a705d44c4fbff9658be13d5344fb2d6c4e (patch)
tree5d13b20d6af7942d2f1bee203be879c528e62b84 /fs
parent0b4eff5d61471075a27b84b8a5348bca6d37d8e0 (diff)
downloadhistory-183986a705d44c4fbff9658be13d5344fb2d6c4e.tar.gz
[PATCH] move group_exit flag into signal_struct.flags word
After my last change, there are plenty of unused bits available in the new flags word in signal_struct. This patch moves the `group_exit' flag into one of those bits, saving a word in signal_struct. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/exec.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/exec.c b/fs/exec.c
index 0d1219531d755f..d201715796bf5b 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -601,7 +601,7 @@ static inline int de_thread(struct task_struct *tsk)
*/
read_lock(&tasklist_lock);
spin_lock_irq(lock);
- if (sig->group_exit) {
+ if (sig->flags & SIGNAL_GROUP_EXIT) {
/*
* Another group action in progress, just
* return so that the signal is processed.
@@ -611,7 +611,6 @@ static inline int de_thread(struct task_struct *tsk)
kmem_cache_free(sighand_cachep, newsighand);
return -EAGAIN;
}
- sig->group_exit = 1;
zap_other_threads(current);
read_unlock(&tasklist_lock);
@@ -709,7 +708,7 @@ static inline int de_thread(struct task_struct *tsk)
* Now there are really no other threads at all,
* so it's safe to stop telling them to kill themselves.
*/
- sig->group_exit = 0;
+ sig->flags = 0;
no_thread_group:
BUG_ON(atomic_read(&sig->count) != 1);
@@ -1396,7 +1395,7 @@ int do_coredump(long signr, int exit_code, struct pt_regs * regs)
}
mm->dumpable = 0;
init_completion(&mm->core_done);
- current->signal->group_exit = 1;
+ current->signal->flags = SIGNAL_GROUP_EXIT;
current->signal->group_exit_code = exit_code;
coredump_wait(mm);