]> granicus.if.org Git - php/commitdiff
adding memory check for FreeBSD also, TODO: refactor the free memory check into a...
authorFerenc Kovacs <tyrael@php.net>
Wed, 2 Nov 2011 21:27:03 +0000 (21:27 +0000)
committerFerenc Kovacs <tyrael@php.net>
Wed, 2 Nov 2011 21:27:03 +0000 (21:27 +0000)
Zend/tests/bug55509.phpt

index 212cc9bbc080ae82155174723860a2c7a84a4db1..b78fceb0da55ffe14514a04b88df5a5d1bf4a9f7 100644 (file)
@@ -21,6 +21,25 @@ if (PHP_OS == 'Linux') {
     die('skip Not enough memory.');\r
   }\r
 }\r
+elseif (PHP_OS == 'FreeBSD') {\r
+  $lines = explode("\n",`sysctl -a`);\r
+  $infos = array();\r
+  foreach ($lines as $line) {\r
+    if(!$line){\r
+      continue;\r
+    }\r
+    $tmp = explode(":", $line);\r
+    $index = strtolower($tmp[0]);\r
+    $value = trim($tmp[1], " ");\r
+    $infos[$index] = $value;\r
+  }\r
+  $freeMemory = ($infos['vm.stats.vm.v_inactive_count']*$infos['hw.pagesize'])\r
+                +($infos['vm.stats.vm.v_cache_count']*$infos['hw.pagesize'])\r
+                +($infos['vm.stats.vm.v_free_count']*$infos['hw.pagesize']);\r
+  if ($freeMemory < 2100*1024*1024) {\r
+    die('skip Not enough memory.');\r
+  }\r
+}\r
 ?>\r
 --INI--\r
 memory_limit=2100M\r