patch-2.1.40 linux/kernel/sched.c
Next file: linux/kernel/sys.c
Previous file: linux/kernel/ksyms.c
Back to the patch index
Back to the overall index
- Lines: 22
- Date:
Mon May 19 11:38:12 1997
- Orig file:
v2.1.39/linux/kernel/sched.c
- Orig date:
Tue May 13 22:41:20 1997
diff -u --recursive --new-file v2.1.39/linux/kernel/sched.c linux/kernel/sched.c
@@ -1000,16 +1000,14 @@
{
long psecs;
- p->utime += user;
- p->stime += system;
-
- psecs = (p->stime + p->utime) / HZ;
- if (psecs > p->rlim[RLIMIT_CPU].rlim_cur) {
+ psecs = (p->times.tms_utime += user);
+ psecs += (p->times.tms_stime += system);
+ if (psecs / HZ > p->rlim[RLIMIT_CPU].rlim_cur) {
/* Send SIGXCPU every second.. */
- if (psecs * HZ == p->stime + p->utime)
+ if (!(psecs % HZ))
send_sig(SIGXCPU, p, 1);
/* and SIGKILL when we go over max.. */
- if (psecs > p->rlim[RLIMIT_CPU].rlim_max)
+ if (psecs / HZ > p->rlim[RLIMIT_CPU].rlim_max)
send_sig(SIGKILL, p, 1);
}
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov