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.77 by ats, Sat Nov 6 15:10:07 2004 UTC vs.
Revision 1.79 by tdb, Sat Nov 6 23:54:12 2004 UTC

# Line 416 | Line 416 | sg_process_stats *sg_get_process_stats(int *entries){
416                  proctitle = NULL;
417  
418                  do {
419 <                        if(size >= buflen) {
419 >                        if((long) size >= buflen) {
420                                  buflen *= 2;
421                                  size = buflen;
422                                  proctitletmp = sg_realloc(proctitle, buflen);
# Line 438 | Line 438 | sg_process_stats *sg_get_process_stats(int *entries){
438                                  size = 0;
439                                  break;
440                          }
441 <                } while(size >= buflen);
441 >                } while((long) size >= buflen);
442  
443                  if(size > 0) {
444                          proc_state_ptr->proctitle = sg_malloc(size+1);
# Line 685 | Line 685 | sg_process_stats *sg_get_process_stats(int *entries){
685                  return NULL;
686          }
687  
688 <        do {
688 >        while (1) {
689                  num = pstat_getproc(pstat_procinfo, sizeof pstat_procinfo[0],
690                                      PROCESS_BATCH, procidx);
691 +                if (num == -1) {
692 +                        sg_set_error_with_errno(SG_ERROR_PSTAT,
693 +                                                "pstat_getproc");
694 +                        return NULL;
695 +                } else if (num == 0) {
696 +                        break;
697 +                }
698  
699                  for (i = 0; i < num; i++) {
700                          struct pst_status *pi = &pstat_procinfo[i];
# Line 740 | Line 747 | sg_process_stats *sg_get_process_stats(int *entries){
747          
748                          proc_state_size++;
749                  }
750 <                procidx = pstat_procinfo[n - 1].pst_idx + 1;
751 <        } while (num > 0);
750 >                procidx = pstat_procinfo[num - 1].pst_idx + 1;
751 >        }
752   #endif
753  
754   #ifdef CYGWIN

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines