chiark / gitweb /
util: detect page size runtime.
[elogind.git] / src / util.c
index 1febd073d2eeef37f9e7ecf99179ae711a7acbdd..fada69cf1a981893f85998ac2da465865a2d0074 100644 (file)
 #include "exit-status.h"
 #include "hashmap.h"
 
+size_t page_size(void) {
+        static __thread size_t pgsz = 0;
+        long r;
+
+        if (pgsz)
+                return pgsz;
+
+        assert_se((r = sysconf(_SC_PAGESIZE)) > 0);
+
+        pgsz = (size_t) r;
+
+        return pgsz;
+}
+
 bool streq_ptr(const char *a, const char *b) {
 
         /* Like streq(), but tries to make sense of NULL pointers */