summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2007-02-12 00:53:00 -0800
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-12 09:48:32 -0800
commitab521dc0f8e117fd808d3e425216864d60390500 (patch)
treef9d6449c4d8c9508fd43edfe845108043e1536b2 /include
parent3e7cd6c413c9e6fbb5e1ee2acdadb4ababd2d474 (diff)
downloadop-kernel-dev-ab521dc0f8e117fd808d3e425216864d60390500.zip
op-kernel-dev-ab521dc0f8e117fd808d3e425216864d60390500.tar.gz
[PATCH] tty: update the tty layer to work with struct pid
Of kernel subsystems that work with pids the tty layer is probably the largest consumer. But it has the nice virtue that the assiation with a session only lasts until the session leader exits. Which means that no reference counting is required. So using struct pid winds up being a simple optimization to avoid hash table lookups. In the long term the use of pid_nr also ensures that when we have multiple pid spaces mixed everything will work correctly. Signed-off-by: Eric W. Biederman <eric@maxwell.lnxi.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/init_task.h2
-rw-r--r--include/linux/sched.h2
-rw-r--r--include/linux/tty.h4
3 files changed, 4 insertions, 4 deletions
diff --git a/include/linux/init_task.h b/include/linux/init_task.h
index 6383d2d..a2d95ff 100644
--- a/include/linux/init_task.h
+++ b/include/linux/init_task.h
@@ -66,7 +66,7 @@
.cpu_timers = INIT_CPU_TIMERS(sig.cpu_timers), \
.rlim = INIT_RLIMITS, \
.pgrp = 1, \
- .tty_old_pgrp = 0, \
+ .tty_old_pgrp = NULL, \
{ .__session = 1}, \
}
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 76c8e2d..39d40c5 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -436,7 +436,7 @@ struct signal_struct {
/* job control IDs */
pid_t pgrp;
- pid_t tty_old_pgrp;
+ struct pid *tty_old_pgrp;
union {
pid_t session __deprecated;
diff --git a/include/linux/tty.h b/include/linux/tty.h
index d0e03c4..dee72b9 100644
--- a/include/linux/tty.h
+++ b/include/linux/tty.h
@@ -197,8 +197,8 @@ struct tty_struct {
struct mutex termios_mutex;
struct ktermios *termios, *termios_locked;
char name[64];
- int pgrp;
- int session;
+ struct pid *pgrp;
+ struct pid *session;
unsigned long flags;
int count;
struct winsize winsize;
OpenPOWER on IntegriCloud