| 43 |
|
double loadav[3]; |
| 44 |
|
|
| 45 |
|
#ifdef CYGWIN |
| 46 |
+ |
sg_set_error(SG_ERROR_UNSUPPORTED, "Cygwin"); |
| 47 |
|
return NULL; |
| 48 |
|
#else |
| 49 |
|
|
| 54 |
|
kstat_named_t *kn; |
| 55 |
|
|
| 56 |
|
if ((kc = kstat_open()) == NULL) { |
| 57 |
+ |
sg_set_error(SG_ERROR_KSTAT_OPEN, NULL); |
| 58 |
|
return NULL; |
| 59 |
|
} |
| 60 |
|
|
| 61 |
|
if((ksp=kstat_lookup(kc, "unix", 0, "system_misc")) == NULL){ |
| 62 |
+ |
sg_set_error(SG_ERROR_KSTAT_LOOKUP, "unix,0,system_misc"); |
| 63 |
|
return NULL; |
| 64 |
|
} |
| 65 |
|
|
| 66 |
|
if (kstat_read(kc, ksp, 0) == -1) { |
| 67 |
+ |
sg_set_error(SG_ERROR_KSTAT_READ, NULL); |
| 68 |
|
return NULL; |
| 69 |
|
} |
| 70 |
|
|
| 71 |
|
if((kn=kstat_data_lookup(ksp, "avenrun_1min")) == NULL){ |
| 72 |
+ |
sg_set_error(SG_ERROR_KSTAT_DATA_LOOKUP, "avenrun_1min"); |
| 73 |
|
return NULL; |
| 74 |
|
} |
| 75 |
|
load_stat.min1 = (double)kn->value.ui32 / (double)256; |
| 76 |
|
|
| 77 |
|
if((kn=kstat_data_lookup(ksp, "avenrun_5min")) == NULL){ |
| 78 |
+ |
sg_set_error(SG_ERROR_KSTAT_DATA_LOOKUP, "avenrun_5min"); |
| 79 |
|
return NULL; |
| 80 |
|
} |
| 81 |
|
load_stat.min5 = (double)kn->value.ui32 / (double)256; |
| 82 |
|
|
| 83 |
|
if((kn=kstat_data_lookup(ksp, "avenrun_15min")) == NULL){ |
| 84 |
+ |
sg_set_error(SG_ERROR_KSTAT_DATA_LOOKUP, "avenrun_15min"); |
| 85 |
|
return NULL; |
| 86 |
|
} |
| 87 |
|
load_stat.min15 = (double)kn->value.ui32 / (double)256; |