ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/libstatgrab/src/libstatgrab/process_stats.c
(Generate patch)

Comparing projects/libstatgrab/src/libstatgrab/process_stats.c (file contents):
Revision 1.30 by tdb, Sat Apr 3 22:59:30 2004 UTC vs.
Revision 1.33 by tdb, Sun Apr 4 11:28:46 2004 UTC

# Line 207 | Line 207 | int get_proc_snapshot(proc_state_t **ps){
207   #endif
208  
209   #ifdef ALLBSD
210 +
211 + #ifdef NETBSD
212 +        kvmd = kvm_openfiles(NULL, NULL, NULL, O_RDONLY, NULL);
213 + #else
214          kvmd = kvm_openfiles(_PATH_DEVNULL, _PATH_DEVNULL, NULL, O_RDONLY, NULL);
215 + #endif
216  
217          if(kvmd == NULL) return NULL;
218  
# Line 306 | Line 311 | int get_proc_snapshot(proc_state_t **ps){
311                  proc_state_ptr->proc_resident =
312                          kp_stats[i].kp_eproc.e_vm.vm_rssize * getpagesize();
313                  /* This is in microseconds */
314 + #ifdef NETBSD
315                  proc_state_ptr->time_spent =
316 +                        kp_stats[i].kp_proc.p_rtime.tv_sec;
317 + #else
318 +                proc_state_ptr->time_spent =
319                          kp_stats[i].kp_proc.p_runtime / 1000000;
320 + #endif
321                  proc_state_ptr->cpu_percent =
322                          ((double)kp_stats[i].kp_proc.p_pctcpu / FSCALE) * 100.0;
323                  proc_state_ptr->nice = kp_stats[i].kp_proc.p_nice;
# Line 343 | Line 353 | int get_proc_snapshot(proc_state_t **ps){
353   #endif
354                          proc_state_ptr->state = ZOMBIE;
355                          break;
356 +                default:
357 +                        proc_state_ptr->state = UNKNOWN;
358 +                        break;
359                  }
360                  proc_state_size++;
361          }
# Line 366 | Line 379 | process_stat_t *get_process_stats() {
379          process_stat.total = 0;
380  
381          ps_size = get_proc_snapshot(&ps);
382 +
383 +        if(ps_size == NULL) {
384 +                return NULL;
385 +        }
386  
387          for(x = 0; x < ps_size; x++) {
388                  switch (ps->state) {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines