X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/d565635a08b0c97a81250d21eda02d3507af5abd..a0eab615b76b09f71f1a714eb885a0eb62841bd4:/usr/src/sys/kern/kern_resource.c?ds=inline diff --git a/usr/src/sys/kern/kern_resource.c b/usr/src/sys/kern/kern_resource.c index f3488463e9..f11460585a 100644 --- a/usr/src/sys/kern/kern_resource.c +++ b/usr/src/sys/kern/kern_resource.c @@ -1,4 +1,4 @@ -/* kern_resource.c 4.2 %G% */ +/* kern_resource.c 4.3 %G% */ #include "../h/param.h" #include "../h/systm.h" @@ -9,10 +9,11 @@ #include "../h/proc.h" #include "../h/seg.h" +struct inode *acctp; + /* * Perform process accounting functions. */ - sysacct() { register struct inode *ip; @@ -47,6 +48,7 @@ sysacct() } } +struct acct acctbuf; /* * On exit, write a record on the accounting file. */ @@ -55,27 +57,28 @@ acct() register i; register struct inode *ip; off_t siz; + register struct acct *ap = &acctbuf; if ((ip=acctp)==NULL) return; plock(ip); - for (i=0; iac_comm); i++) + ap->ac_comm[i] = u.u_comm[i]; + ap->ac_utime = compress((long)u.u_vm.vm_utime); + ap->ac_stime = compress((long)u.u_vm.vm_stime); + ap->ac_etime = compress((long)(time - u.u_start)); + ap->ac_btime = u.u_start; + ap->ac_uid = u.u_ruid; + ap->ac_gid = u.u_rgid; + ap->ac_mem = 0; if (i = u.u_vm.vm_utime + u.u_vm.vm_stime) - acctbuf.ac_mem = (u.u_vm.vm_ixrss + u.u_vm.vm_idsrss) / i; - acctbuf.ac_io = compress((long)(u.u_vm.vm_inblk + u.u_vm.vm_oublk)); - acctbuf.ac_tty = u.u_ttyd; - acctbuf.ac_flag = u.u_acflag; + ap->ac_mem = (u.u_vm.vm_ixrss + u.u_vm.vm_idsrss) / i; + ap->ac_io = compress((long)(u.u_vm.vm_inblk + u.u_vm.vm_oublk)); + ap->ac_tty = u.u_ttyd; + ap->ac_flag = u.u_acflag; siz = ip->i_size; u.u_offset = siz; - u.u_base = (caddr_t)&acctbuf; + u.u_base = (caddr_t)ap; u.u_count = sizeof(acctbuf); u.u_segflg = 1; u.u_error = 0;