Merge branch '0.8.x' of git@gitorious.org:laconica/dev into 0.8.x

This commit is contained in:
Sarven Capadisli 2009-07-09 17:02:27 +00:00
commit 228b2001d8

View File

@ -108,22 +108,34 @@ class StompQueueManager
$handsocks = $handler->getSockets();
$this->_log(LOG_DEBUG, "Got ".count($handsocks)." sockets from handler.");
$this->_log(LOG_DEBUG, print_r($handsocks, true));
$socks = array_merge(array($stompsock), $handsocks);
$read = $socks;
$write = array();
$except = array();
$this->_log(LOG_DEBUG, "Starting select");
$ready = stream_select($read, $write, $except, $handler->timeout(), 0);
$this->_log(LOG_DEBUG, "Finished select with value '$ready'");
if (!$ready || $read[0] !== $stompsock) {
$handler->idle(QUEUE_HANDLER_MISS_IDLE);
} else {
if ($ready === false) {
$this->_log(LOG_ERR, "Error selecting on sockets");
} else if ($ready > 0) {
if (in_array($stompsock, $read)) {
$this->_handleNotice($queue, $handler);
}
foreach ($handsocks as $sock) {
if (in_array($sock, $read)) {
$handler->idle(QUEUE_HANDLER_HIT_IDLE);
break;
}
}
}
}
$this->con->unsubscribe($this->_queueName($queue));
}
function _handleNotice($queue, $handler)
{
$frame = $this->con->readFrame();
if (!empty($frame)) {
@ -147,17 +159,8 @@ class StompQueueManager
}
unset($frame);
$handler->idle(QUEUE_HANDLER_HIT_IDLE);
} else {
$handler->idle(QUEUE_HANDLER_MISS_IDLE);
}
}
}
$this->con->unsubscribe($this->_queueName($queue));
}
function _queueName($queue)
{