diff options
Diffstat (limited to 'sysutils/p5-Sys-Load/files')
| -rw-r--r-- | sysutils/p5-Sys-Load/files/patch-Load.pm | 20 | ||||
| -rw-r--r-- | sysutils/p5-Sys-Load/files/patch-Load.xs | 27 |
2 files changed, 47 insertions, 0 deletions
diff --git a/sysutils/p5-Sys-Load/files/patch-Load.pm b/sysutils/p5-Sys-Load/files/patch-Load.pm new file mode 100644 index 000000000000..6654c8e67e08 --- /dev/null +++ b/sysutils/p5-Sys-Load/files/patch-Load.pm @@ -0,0 +1,20 @@ +--- Load.pm 2002-09-01 09:54:44.000000000 +0000 ++++ Load.pm 2011-01-19 12:07:33.000000000 +0000 +@@ -17,17 +17,6 @@ + bootstrap Sys::Load $VERSION; + + # Preloaded methods go here. +- +-use constant UPTIME => "/proc/uptime"; +- +-sub uptime { +- open(FILE, UPTIME) || return 0; +- my $line = <FILE>; +- my($uptime, $idle) = split /\s+/, $line; +- close FILE; +- return $uptime; +-} +- + 1; + + __END__ diff --git a/sysutils/p5-Sys-Load/files/patch-Load.xs b/sysutils/p5-Sys-Load/files/patch-Load.xs new file mode 100644 index 000000000000..4e92cc0ffd9a --- /dev/null +++ b/sysutils/p5-Sys-Load/files/patch-Load.xs @@ -0,0 +1,27 @@ +--- Load.xs 2002-08-31 02:00:32.000000000 +0000 ++++ Load.xs 2011-01-19 12:07:14.000000000 +0000 +@@ -2,6 +2,7 @@ + #include "perl.h" + #include "XSUB.h" + #include "stdlib.h" ++#include <time.h> + + + MODULE = Sys::Load PACKAGE = Sys::Load +@@ -22,3 +23,16 @@ + XPUSHs(sv_2mortal(newSVnv(load[2]))); + } + ++void ++uptime() ++PROTOTYPE: ++PREINIT: ++ struct timespec t; ++ int i; ++PPCODE: ++ i = clock_gettime(CLOCK_MONOTONIC, &t); ++ if(i == -1) ++ XSRETURN_EMPTY; ++ else { ++ XPUSHs(sv_2mortal(newSVnv(t.tv_sec))); ++ } |
