diff options
author | Craig Andrews <candrews@integralblue.com> | 2010-01-23 01:03:41 -0500 |
---|---|---|
committer | Craig Andrews <candrews@integralblue.com> | 2010-01-23 01:03:41 -0500 |
commit | 23c0d663d63c49183494ebb049160af633a2d2ec (patch) | |
tree | 91b93d4c73d5af935e4629dd09ea3800713d76c4 /lib/iomaster.php | |
parent | 845f051c2f85248ef85d0a34f032792ca83f04a4 (diff) |
Allow for instances as well as class names to be passed as queue handlers and iomanagers.
Diffstat (limited to 'lib/iomaster.php')
-rw-r--r-- | lib/iomaster.php | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/iomaster.php b/lib/iomaster.php index 004e92b3e..29bd677bd 100644 --- a/lib/iomaster.php +++ b/lib/iomaster.php @@ -102,7 +102,7 @@ abstract class IoMaster */ protected function instantiate($class) { - if (isset($this->singletons[$class])) { + if (is_string($class) && isset($this->singletons[$class])) { // Already instantiated a multi-site-capable handler. // Just let it know it should listen to this site too! $this->singletons[$class]->addSite(common_config('site', 'server')); @@ -129,7 +129,11 @@ abstract class IoMaster protected function getManager($class) { - return call_user_func(array($class, 'get')); + if(is_object($class)){ + return $class; + } else { + return call_user_func(array($class, 'get')); + } } /** @@ -347,7 +351,7 @@ abstract class IoMaster * for per-queue and per-site records. * * @param string $key counter name - * @param array $owners list of owner keys like 'queue:jabber' or 'site:stat01' + * @param array $owners list of owner keys like 'queue:xmpp' or 'site:stat01' */ public function stats($key, $owners=array()) { |