[PATCH] tty_io: Remove unneeded test for session == 0

From: Eric W. Biederman
Date: Sun Jan 29 2006 - 16:46:28 EST



Andrew earlier you asked about code that can be simplified
by not hashing pid 0. This is one example.

That patch actually corrects loops like:
case IOPRIO_WHO_PGRP:
if (!who)
who = process_group(current);
do_each_task_pid(who, PIDTYPE_PGID, p) {
ret = set_task_ioprio(p, ioprio);
if (ret)
break;
} while_each_task_pid(who, PIDTYPE_PGID, p);
break;
If the processes calling it is not a member of a process group.

Signed-off-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx>


---

drivers/char/tty_io.c | 22 ++++++++++------------
1 files changed, 10 insertions(+), 12 deletions(-)

5bb76f8c81db4b8a6e5d1c4c1512503e8ccc81c3
diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c
index 1d83cd5..901280b 100644
--- a/drivers/char/tty_io.c
+++ b/drivers/char/tty_io.c
@@ -1069,18 +1069,16 @@ static void do_tty_hangup(void *data)
tty_release is called */

read_lock(&tasklist_lock);
- if (tty->session > 0) {
- do_each_task_pid(tty->session, PIDTYPE_SID, p) {
- if (p->signal->tty == tty)
- p->signal->tty = NULL;
- if (!p->signal->leader)
- continue;
- group_send_sig_info(SIGHUP, SEND_SIG_PRIV, p);
- group_send_sig_info(SIGCONT, SEND_SIG_PRIV, p);
- if (tty->pgrp > 0)
- p->signal->tty_old_pgrp = tty->pgrp;
- } while_each_task_pid(tty->session, PIDTYPE_SID, p);
- }
+ do_each_task_pid(tty->session, PIDTYPE_SID, p) {
+ if (p->signal->tty == tty)
+ p->signal->tty = NULL;
+ if (!p->signal->leader)
+ continue;
+ group_send_sig_info(SIGHUP, SEND_SIG_PRIV, p);
+ group_send_sig_info(SIGCONT, SEND_SIG_PRIV, p);
+ if (tty->pgrp > 0)
+ p->signal->tty_old_pgrp = tty->pgrp;
+ } while_each_task_pid(tty->session, PIDTYPE_SID, p);
read_unlock(&tasklist_lock);

tty->flags = 0;
--
1.1.5.g3480

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/