diff --git a/htconfig.php b/htconfig.php index 9d9c8a2c79..63a40c8090 100755 --- a/htconfig.php +++ b/htconfig.php @@ -83,5 +83,8 @@ $a->config['system']['no_regfullname'] = true; // If set to true the priority settings of ostatus contacts are used $a->config['system']['ostatus_use_priority'] = false; -// If enabled all items are cached in the given directory +// If enabled, all items are cached in the given directory $a->config['system']['itemcache'] = ""; + +// If enabled, the lockpath is used for a lockfile to check if the poller is running +$a->config['system']['lockpath'] = ""; diff --git a/include/poller.php b/include/poller.php index 90a97867c2..499483d007 100755 --- a/include/poller.php +++ b/include/poller.php @@ -25,10 +25,20 @@ function poller_run($argv, $argc){ require_once('include/Contact.php'); require_once('include/email.php'); require_once('include/socgraph.php'); + require_once('include/pidfile.php'); load_config('config'); load_config('system'); + $lockpath = get_config('system','lockpath'); + if ($lockpath != '') { + $pidfile = new pidfile($lockpath, 'poller.lck'); + if($pidfile->is_already_running()) { + logger("poller: Already running"); + exit; + } + } + $a->set_baseurl(get_config('system','url')); load_hooks();