STATUS: 50%
0000 T _signal compatible
0052 T _psignal compatible
00b6 T _issig not compatible
0186 T _stop compatible
0216 T _psig compatible
02d4 T _fsig compatible
031e T _core not compatible
0512 T _grow not compatible
0640 T _ptrace not compatible
075c T _procxmt not compatible
This commit is contained in:
parent
656e78527c
commit
f5db72bcb1
|
|
@ -67,7 +67,7 @@ register pgrp;
|
||||||
|
|
||||||
if(pgrp == 0)
|
if(pgrp == 0)
|
||||||
return;
|
return;
|
||||||
for(p = &proc[1]; p < &proc[Nproc]; p++)
|
for(p = &proc[0]; p < &proc[Nproc]; p++)
|
||||||
if(p->p_pgrp == pgrp)
|
if(p->p_pgrp == pgrp)
|
||||||
psignal(p, sig);
|
psignal(p, sig);
|
||||||
}
|
}
|
||||||
|
|
@ -228,7 +228,8 @@ struct proc *p;
|
||||||
core()
|
core()
|
||||||
{
|
{
|
||||||
register struct inode *ip;
|
register struct inode *ip;
|
||||||
register s;
|
register i;
|
||||||
|
char s;
|
||||||
extern schar();
|
extern schar();
|
||||||
|
|
||||||
if (u.u_uid != u.u_ruid)
|
if (u.u_uid != u.u_ruid)
|
||||||
|
|
@ -251,13 +252,29 @@ core()
|
||||||
u.u_segflg = 1;
|
u.u_segflg = 1;
|
||||||
u.u_limit = (daddr_t)ctod(Maxmem);
|
u.u_limit = (daddr_t)ctod(Maxmem);
|
||||||
writei(ip);
|
writei(ip);
|
||||||
u.u_base.l = (char *)ctob(u.u_tsize);
|
|
||||||
u.u_count = ctob(u.u_dsize);
|
|
||||||
u.u_segflg = 0;
|
u.u_segflg = 0;
|
||||||
writei(ip);
|
if(!u.u_segmented) {
|
||||||
u.u_base.l = (char *)(0x80000000 - ctob(u.u_ssize));
|
i = u.u_procp->p_size-USIZE;
|
||||||
u.u_count = ctob(u.u_ssize);
|
estabur(0, i, 0, 1 );
|
||||||
writei(ip);
|
u.u_base.left = USEGW;
|
||||||
|
u.u_base.right = 0;
|
||||||
|
u.u_count = ctob(i);
|
||||||
|
writei(ip);
|
||||||
|
} else {
|
||||||
|
for(s=0;s<u.u_nsegs;s++) {
|
||||||
|
if(!(u.u_segno[s]&0x80)) {
|
||||||
|
u.u_base.left = ctob(u.u_segno[s] & 0x7f);
|
||||||
|
u.u_base.right = 0;
|
||||||
|
u.u_count = ctob((u.u_segmts[s].sg_limit)+1);
|
||||||
|
writei(ip);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
u.u_base.left = ctob(u.u_stakseg);
|
||||||
|
u.u_base.right = ctob(u.u_segmts[127].sg_limit);
|
||||||
|
u.u_count = ctob(-u.u_segmts[127].sg_limit+0x100);
|
||||||
|
writei(ip);
|
||||||
|
}
|
||||||
} else
|
} else
|
||||||
u.u_error = EACCES;
|
u.u_error = EACCES;
|
||||||
iput(ip);
|
iput(ip);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue