File Coverage

CpuLoad.xs
Criterion Covered Total %
statement 6 7 85.7
branch 2 4 50.0
condition n/a
subroutine n/a
pod n/a
total 8 11 72.7


line stmt bran cond sub pod time code
1             #ifdef __cplusplus
2             extern "C" {
3             #endif
4              
5             #include
6             #include "EXTERN.h"
7             #include "perl.h"
8             #include "XSUB.h"
9              
10             #ifdef __cplusplus
11             }
12             #endif
13              
14             MODULE = Sys::CpuLoad PACKAGE = Sys::CpuLoad
15              
16             void
17             getloadavg()
18             PREINIT:
19             double loadavg[3];
20             int nelem;
21             PPCODE:
22             #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__) || defined(__linux__) || defined(__sun) || defined(__DragonFly__)
23 4           nelem = getloadavg(loadavg, 3);
24             #else
25             nelem = -1;
26             #endif
27 4 50         if (nelem != -1) {
28 4 50         EXTEND(SP, 3);
29 4           PUSHs(sv_2mortal(newSVnv(loadavg[0])));
30 4           PUSHs(sv_2mortal(newSVnv(loadavg[1])));
31 4           PUSHs(sv_2mortal(newSVnv(loadavg[2])));
32             }
33             else {
34 0           XSRETURN_UNDEF;
35             }