+ // Check to see if we are running out of memory - if so spawn a new process and kill this one
+
+ $avail_memory = return_bytes(ini_get('memory_limit'));
+ $memused = memory_get_peak_usage(true);
+ if(intval($avail_memory)) {
+ if(($memused / $avail_memory) > 0.95) {
+ if($generation + 1 > 10) {
+ logger('poller: maximum number of spawns exceeded. Terminating.');
+ killme();
+ }
+ logger('poller: memory exceeded. ' . $memused . ' bytes used. Spawning new poll.');
+ proc_run('php', 'include/poller.php', 'restart', (string) $generation + 1);
+ killme();
+ }
+ }
+