Sys-CpuLoad

 view release on metacpan or  search on metacpan

CpuLoad.xs  view on Meta::CPAN

#ifdef __cplusplus
extern "C" {
#endif

#include <stdlib.h>
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"

#ifdef __cplusplus
}
#endif

MODULE = Sys::CpuLoad		PACKAGE = Sys::CpuLoad

void
getloadavg()
    PREINIT:
        double loadavg[3];
        int    nelem;
    PPCODE:
#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__) || defined(__linux__) || defined(__sun) || defined(__DragonFly__)
        nelem = getloadavg(loadavg, 3);
#else
        nelem = -1;
#endif
        if (nelem != -1) {
          EXTEND(SP, 3);
          PUSHs(sv_2mortal(newSVnv(loadavg[0])));
          PUSHs(sv_2mortal(newSVnv(loadavg[1])));
          PUSHs(sv_2mortal(newSVnv(loadavg[2])));
        }
        else {
          XSRETURN_UNDEF;
        }



( run in 0.999 second using v1.01-cache-2.11-cpan-5511b514fd6 )