Your solution works for me. Thanks!
@phil.davis:
/etc/rc.php_ini_setup sets:
max_execution_time = 900
Normal things done on the GUI, even downloading and installing an update, should never use more than 900 CPU seconds on any platform.
Things like lcdproc are scripts that run forever in the background, so it will clock up 900 seconds of CPU eventually and get terminated by the PHP interpreter.
By adding set_time_limit(0) before loop_status is called in lcdproc_client.php it should be allowed to run forever:
/* Connect to the LCDd port and interface with the LCD */
$lcd = fsockopen(LCDPROC_HOST, LCDPROC_PORT, $errno, $errstr, 10);
if (!$lcd) {
lcdproc_warn("Failed to connect to LCDd process $errstr ($errno)");
} else {
set_time_limit(0);
build_interface($lcd);
loop_status($lcd);
/* loop exited? Close fd and wait for the script to kick in again */
fclose($lcd);
}
(The fragment above is from the version in the lcdproc package - lcdproc-dev is a little different, but same principle.)
Give this a try, then this should be fixed in the lcdproc / lcdproc-dev packages.
Any other packages that use a PHP script as a background process that runs forever will also eventually reach the 900 second limit - they will also need set_time_limit(0) added.