From 48a7f7b2bd7363e39ff8f42fd232fbfc4c5d912a Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Sun, 21 Feb 2016 20:31:33 +0000 Subject: [PATCH] level2: shave another 40 bytes off --- Kernel/level2.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/Kernel/level2.c b/Kernel/level2.c index 4d5ee355..15d29aa8 100644 --- a/Kernel/level2.c +++ b/Kernel/level2.c @@ -15,7 +15,7 @@ int in_group(uint16_t gid) return 0; } -void jobcontrol_in(uint8_t minor, struct tty *t) +static void jobop(uint8_t minor, uint8_t sig, struct tty *t) { if (!t->pgrp || udata.u_ptab->p_pgrp == t->pgrp || udata.u_ptab->p_tty != minor) @@ -24,25 +24,22 @@ void jobcontrol_in(uint8_t minor, struct tty *t) kprintf("[stop %d %d %d]\n", t->pgrp, udata.u_ptab->p_pgrp, udata.u_ptab->p_tty); #endif - ssig(udata.u_ptab, SIGTTIN); + ssig(udata.u_ptab, sig); /* So we halt */ psleep(0); } +void jobcontrol_in(uint8_t minor, struct tty *t) +{ + jobop(minor, SIGTTIN, t); +} + + void jobcontrol_out(uint8_t minor, struct tty *t) { - if (!t->pgrp || udata.u_ptab->p_pgrp == t->pgrp - || udata.u_ptab->p_tty != minor) - return; if (!(t->termios.c_lflag & TOSTOP)) return; -#ifdef DEBUG - kprintf("[stop %d %d %d]\n", - t->pgrp, udata.u_ptab->p_pgrp, udata.u_ptab->p_tty); -#endif - ssig(udata.u_ptab, SIGTTOU); - /* So we halt */ - psleep(0); + jobop(minor, SIGTTOU, t); } int tcsetpgrp(struct tty *t, char *data) /* data is user pointer */ -- 2.34.1