From eb4a57117f5b734246226c9b6d6b1f9edca2e4f2 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thipp@suse.de>
Date: Fri, 16 Sep 2016 09:04:52 +0200
Subject: [PATCH] process: determine page sizes via function

Instead of hard-coding the page size for linux systems, use Go's
`Getpagesize` function.

This resolves #258.

Signed-off-by: Thomas Hipp <thipp@suse.de>
---
 process/process_linux.go       | 5 ++++-
 process/process_linux_386.go   | 3 +--
 process/process_linux_amd64.go | 3 +--
 process/process_linux_arm.go   | 3 +--
 process/process_linux_arm64.go | 3 +--
 5 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/process/process_linux.go b/process/process_linux.go
index 158cb04..9eb4f44 100644
--- a/process/process_linux.go
+++ b/process/process_linux.go
@@ -20,7 +20,10 @@ import (
 	"github.com/shirou/gopsutil/net"
 )
 
-var ErrorNoChildren = errors.New("process does not have children")
+var (
+	ErrorNoChildren = errors.New("process does not have children")
+	PageSize        = uint64(os.Getpagesize())
+)
 
 const (
 	PrioProcess = 0 // linux/resource.h
diff --git a/process/process_linux_386.go b/process/process_linux_386.go
index 541b854..c4df213 100644
--- a/process/process_linux_386.go
+++ b/process/process_linux_386.go
@@ -4,6 +4,5 @@
 package process
 
 const (
-	ClockTicks = 100  // C.sysconf(C._SC_CLK_TCK)
-	PageSize   = 4096 // C.sysconf(C._SC_PAGE_SIZE)
+	ClockTicks = 100 // C.sysconf(C._SC_CLK_TCK)
 )
diff --git a/process/process_linux_amd64.go b/process/process_linux_amd64.go
index b4a4ce8..99b6659 100644
--- a/process/process_linux_amd64.go
+++ b/process/process_linux_amd64.go
@@ -4,6 +4,5 @@
 package process
 
 const (
-	ClockTicks = 100  // C.sysconf(C._SC_CLK_TCK)
-	PageSize   = 4096 // C.sysconf(C._SC_PAGE_SIZE)
+	ClockTicks = 100 // C.sysconf(C._SC_CLK_TCK)
 )
diff --git a/process/process_linux_arm.go b/process/process_linux_arm.go
index c6123a4..8aef44c 100644
--- a/process/process_linux_arm.go
+++ b/process/process_linux_arm.go
@@ -4,6 +4,5 @@
 package process
 
 const (
-	ClockTicks = 100  // C.sysconf(C._SC_CLK_TCK)
-	PageSize   = 4096 // C.sysconf(C._SC_PAGE_SIZE)
+	ClockTicks = 100 // C.sysconf(C._SC_CLK_TCK)
 )
diff --git a/process/process_linux_arm64.go b/process/process_linux_arm64.go
index 529aeaa..493197c 100644
--- a/process/process_linux_arm64.go
+++ b/process/process_linux_arm64.go
@@ -4,6 +4,5 @@
 package process
 
 const (
-	ClockTicks = 100  // C.sysconf(C._SC_CLK_TCK)
-	PageSize   = 4096 // C.sysconf(C._SC_PAGE_SIZE)
+	ClockTicks = 100 // C.sysconf(C._SC_CLK_TCK)
 )
-- 
2.9.3

