- if (noproc == 0 && cpstate != CP_IDLE) {
- if ((u.u_ru.ru_utime.tv_sec+u.u_ru.ru_stime.tv_sec+1) >
- u.u_rlimit[RLIMIT_CPU].rlim_cur) {
- psignal(u.u_procp, SIGXCPU);
- if (u.u_rlimit[RLIMIT_CPU].rlim_cur <
- u.u_rlimit[RLIMIT_CPU].rlim_max)
- u.u_rlimit[RLIMIT_CPU].rlim_cur += 5;
- }
- if (timerisset(&u.u_timer[ITIMER_PROF].it_value) &&
- itimerdecr(&u.u_timer[ITIMER_PROF], tick) == 0)
- psignal(u.u_procp, SIGPROF);
- s = u.u_procp->p_rssize;
- u.u_ru.ru_idrss += s; u.u_ru.ru_isrss += 0; /* XXX */
- if (u.u_procp->p_textp) {
- register int xrss = u.u_procp->p_textp->x_rssize;
-
- s += xrss;
- u.u_ru.ru_ixrss += xrss;
+ if (p) {
+ if ((p->p_utime.tv_sec+p->p_stime.tv_sec+1) >
+ p->p_rlimit[RLIMIT_CPU].rlim_cur) {
+ psignal(p, SIGXCPU);
+ if (p->p_rlimit[RLIMIT_CPU].rlim_cur <
+ p->p_rlimit[RLIMIT_CPU].rlim_max)
+ p->p_rlimit[RLIMIT_CPU].rlim_cur += 5;