SCCS-vsn: sys/kern/kern_synch.c 3.10
SCCS-vsn: sys/vax/vax/trap.c 3.4
SCCS-vsn: sys/kern/tty.c 3.6
-/* kern_synch.c 3.9 %H% */
+/* kern_synch.c 3.10 %H% */
#include "../h/param.h"
#include "../h/systm.h"
#include "../h/param.h"
#include "../h/systm.h"
caddr_t chan;
{
register struct proc *rp, **hp;
caddr_t chan;
{
register struct proc *rp, **hp;
rp = u.u_procp;
s = spl6();
rp = u.u_procp;
s = spl6();
if(ISSIG(rp))
goto psig;
} else {
if(ISSIG(rp))
goto psig;
} else {
(void) spl0();
swtch();
}
(void) spl0();
swtch();
}
for (q = h; p = *q; ) {
if (p->p_rlink || p->p_stat != SSLEEP && p->p_stat != SSTOP)
panic("wakeup");
for (q = h; p = *q; ) {
if (p->p_rlink || p->p_stat != SSLEEP && p->p_stat != SSTOP)
panic("wakeup");
- if (p->p_wchan==chan && p->p_stat!=SZOMB) {
+ if (p->p_wchan==chan) {
p->p_wchan = 0;
*q = p->p_link;
p->p_slptime = 0;
p->p_wchan = 0;
*q = p->p_link;
p->p_slptime = 0;
setrun(p)
register struct proc *p;
{
setrun(p)
register struct proc *p;
{
default:
panic("setrun");
default:
panic("setrun");
case SSLEEP:
unsleep(p); /* e.g. when sending signals */
break;
case SIDL:
case SSLEEP:
unsleep(p); /* e.g. when sending signals */
break;
case SIDL:
break;
}
p->p_stat = SRUN;
break;
}
p->p_stat = SRUN;
/*
* general TTY subroutines
/*
* general TTY subroutines
if(pp->p_pgrp == 0) {
u.u_ttyp = tp;
u.u_ttyd = dev;
if(pp->p_pgrp == 0) {
u.u_ttyp = tp;
u.u_ttyd = dev;
- tp->t_pgrp = pp->p_pid;
+ if (tp->t_pgrp == 0)
+ tp->t_pgrp = pp->p_pid;
pp->p_pgrp = tp->t_pgrp;
}
tp->t_state &= ~WOPEN;
pp->p_pgrp = tp->t_pgrp;
}
tp->t_state &= ~WOPEN;
tp->t_erase = CERASE;
tp->t_kill = CKILL;
/* begin local */
tp->t_erase = CERASE;
tp->t_kill = CKILL;
/* begin local */
- tlun.t_suspc = 0377;
- tlun.t_dstopc = 0377;
+ tlun.t_suspc = CTRL(z);
+ tlun.t_dsuspc = CTRL(y);
tlun.t_rprntc = CTRL(r);
tlun.t_flushc = CTRL(o);
tlun.t_werasc = CTRL(w);
tlun.t_rprntc = CTRL(r);
tlun.t_flushc = CTRL(o);
tlun.t_werasc = CTRL(w);
;
tp->t_delct = 0;
tp->t_rocount = 0; /* local */
;
tp->t_delct = 0;
tp->t_rocount = 0; /* local */
- tp->t_lstate = 0; /* reset */
u.u_ar0 = locr0;
params = (caddr_t)locr0[AP] + NBPW;
u.u_error = 0;
u.u_ar0 = locr0;
params = (caddr_t)locr0[AP] + NBPW;
u.u_error = 0;
if (code > 63)
opc -= 2;
callp = &sysent[code&0177];
if (code > 63)
opc -= 2;
callp = &sysent[code&0177];