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.19 by tdb, Sat Feb 14 02:56:11 2004 UTC vs.
Revision 1.22 by tdb, Mon Feb 16 14:55:32 2004 UTC

# Line 50 | Line 50
50   #include <stdlib.h>
51   #include <sys/param.h>
52   #include <sys/sysctl.h>
53 + #if defined(FREEBSD) || defined(DFBSD)
54 + #include <sys/user.h>
55 + #else
56   #include <sys/proc.h>
57   #endif
55 #ifdef FREEBSD
56 #include <sys/user.h>
58   #endif
59  
60   process_stat_t *get_process_stats(){
# Line 157 | Line 158 | process_stat_t *get_process_stats(){
158          }
159          
160          if (sysctl(mib, 3, kp_stats, &size, NULL, 0) < 0) {
161 +                free(kp_stats);
162                  return NULL;
163          }
164  
# Line 166 | Line 168 | process_stat_t *get_process_stats(){
168   #else
169                  switch (kp_stats[i].kp_proc.p_stat) {
170   #endif
169                case SSLEEP:
170                        process_stat.sleeping++;
171                        break;
172                case SRUN:
171                  case SIDL:
172 +                case SRUN:
173 + #ifdef SONPROC
174 +                case SONPROC: /* NetBSD */
175 + #endif
176                          process_stat.running++;
177                          break;
178 <                case SZOMB:
179 <                /*case SDEAD:*/
180 <                        process_stat.zombie++;
178 >                case SSLEEP:
179 > #ifdef SWAIT
180 >                case SWAIT: /* FreeBSD 5 */
181 > #endif
182 > #ifdef SLOCK
183 >                case SLOCK: /* FreeBSD 5 */
184 > #endif
185 >                        process_stat.sleeping++;
186                          break;
187                  case SSTOP:
188                          process_stat.stopped++;
189                          break;
190 +                case SZOMB:
191 + #ifdef SDEAD
192 +                case SDEAD: /* OpenBSD & NetBSD */
193 + #endif
194 +                        process_stat.zombie++;
195 +                        break;
196                  }
197          }
185 #endif
198  
199 < free(kp_stats);
199 >        free(kp_stats);
200 > #endif
201  
202   #ifdef CYGWIN
203          return NULL;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines