157 |
|
} |
158 |
|
|
159 |
|
if (sysctl(mib, 3, kp_stats, &size, NULL, 0) < 0) { |
160 |
+ |
free(kp_stats); |
161 |
|
return NULL; |
162 |
|
} |
163 |
|
|
167 |
|
#else |
168 |
|
switch (kp_stats[i].kp_proc.p_stat) { |
169 |
|
#endif |
169 |
– |
case SSLEEP: |
170 |
– |
process_stat.sleeping++; |
171 |
– |
break; |
172 |
– |
case SRUN: |
170 |
|
case SIDL: |
171 |
+ |
case SRUN: |
172 |
+ |
#ifdef SONPROC |
173 |
+ |
case SONPROC: /* NetBSD */ |
174 |
+ |
#endif |
175 |
|
process_stat.running++; |
176 |
|
break; |
177 |
< |
case SZOMB: |
178 |
< |
/*case SDEAD:*/ |
179 |
< |
process_stat.zombie++; |
177 |
> |
case SSLEEP: |
178 |
> |
#ifdef SWAIT |
179 |
> |
case SWAIT: /* FreeBSD 5 */ |
180 |
> |
#endif |
181 |
> |
#ifdef SLOCK |
182 |
> |
case SLOCK: /* FreeBSD 5 */ |
183 |
> |
#endif |
184 |
> |
process_stat.sleeping++; |
185 |
|
break; |
186 |
|
case SSTOP: |
187 |
|
process_stat.stopped++; |
188 |
|
break; |
189 |
+ |
case SZOMB: |
190 |
+ |
#ifdef SDEAD |
191 |
+ |
case SDEAD: /* OpenBSD & NetBSD */ |
192 |
+ |
#endif |
193 |
+ |
process_stat.zombie++; |
194 |
+ |
break; |
195 |
|
} |
196 |
|
} |
185 |
– |
#endif |
197 |
|
|
198 |
< |
free(kp_stats); |
198 |
> |
free(kp_stats); |
199 |
> |
#endif |
200 |
|
|
201 |
|
#ifdef CYGWIN |
202 |
|
return NULL; |