Fixed CCCH serviceLoop().

We should use not blocking read from InterthreadQueue, because we should send idleFrame, when queue is empty.
This commit is contained in:
Ivan Kluchnikov
2013-03-28 21:19:09 +04:00
committed by Alexander Chemeris
parent 37245fecbf
commit 9c5db80544

View File

@@ -124,13 +124,13 @@ void CCCHLogicalChannel::serviceLoop()
LogicalChannel::send(idleFrame);
// run the loop
while (true) {
L3Frame* frame = mQ.read();
L3Frame* frame = mQ.readNoBlock();
if (frame) {
LogicalChannel::send(*frame);
OBJLOG(DEBUG) << "CCCHLogicalChannel::serviceLoop sending " << *frame;
delete frame;
}
if (mQ.size()==0) {
else {
LogicalChannel::send(idleFrame);
OBJLOG(DEBUG) << "CCCHLogicalChannel::serviceLoop sending idle frame";
}