MCPcopy Create free account
hub / github.com/F-Stack/f-stack / kern_getrusage

Function kern_getrusage

freebsd/kern/kern_resource.c:1060–1093  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1058}
1059
1060int
1061kern_getrusage(struct thread *td, int who, struct rusage *rup)
1062{
1063 struct proc *p;
1064 int error;
1065
1066 error = 0;
1067 p = td->td_proc;
1068 PROC_LOCK(p);
1069 switch (who) {
1070 case RUSAGE_SELF:
1071 rufetchcalc(p, rup, &rup->ru_utime,
1072 &rup->ru_stime);
1073 break;
1074
1075 case RUSAGE_CHILDREN:
1076 *rup = p->p_stats->p_cru;
1077 calccru(p, &rup->ru_utime, &rup->ru_stime);
1078 break;
1079
1080 case RUSAGE_THREAD:
1081 PROC_STATLOCK(p);
1082 thread_lock(td);
1083 rufetchtd(td, rup);
1084 thread_unlock(td);
1085 PROC_STATUNLOCK(p);
1086 break;
1087
1088 default:
1089 error = EINVAL;
1090 }
1091 PROC_UNLOCK(p);
1092 return (error);
1093}
1094
1095void
1096rucollect(struct rusage *ru, struct rusage *ru2)

Callers 2

linux_getrusageFunction · 0.85
sys_getrusageFunction · 0.85

Calls 3

rufetchcalcFunction · 0.85
calccruFunction · 0.85
rufetchtdFunction · 0.85

Tested by

no test coverage detected