check the state of the queue before diving in to process it
darcs-hash:20080830095709-84dde-a64262c1b32e506cb2c43f8b4fb55ab88effc22f.gz
This commit is contained in:
parent
c46f152697
commit
0217a74f13
@ -616,4 +616,12 @@ class XMPPHP_XMLStream {
|
|||||||
xml_set_element_handler($this->parser, 'startXML', 'endXML');
|
xml_set_element_handler($this->parser, 'startXML', 'endXML');
|
||||||
xml_set_character_data_handler($this->parser, 'charXML');
|
xml_set_character_data_handler($this->parser, 'charXML');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function readyToProcess() {
|
||||||
|
$read = array($this->socket);
|
||||||
|
$write = null;
|
||||||
|
$except = null;
|
||||||
|
$updated = @stream_select($read, $write, $except, 0);
|
||||||
|
return $updated !== false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,9 +53,15 @@ class XmppQueueHandler extends QueueHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function idle() {
|
function idle() {
|
||||||
$this->log(LOG_DEBUG, 'Processing the incoming message queue.');
|
$this->log(LOG_DEBUG, 'Checking the incoming message queue.');
|
||||||
# Process the queue for a second
|
# Process the queue for a second
|
||||||
$this->conn->processTime(1);
|
if ($this->conn->readyToProcess()) {
|
||||||
|
$this->log(LOG_DEBUG, 'Something in the incoming message queue; processing it.');
|
||||||
|
$this->conn->processTime(1);
|
||||||
|
$this->log(LOG_DEBUG, 'Done processing incoming message queue.');
|
||||||
|
} else {
|
||||||
|
$this->log(LOG_DEBUG, 'Nothing in the incoming message queue; skipping it.');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function finish() {
|
function finish() {
|
||||||
|
Loading…
Reference in New Issue
Block a user