commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r10053 - openbts/trunk/GSM


From: dburgess00
Subject: [Commit-gnuradio] r10053 - openbts/trunk/GSM
Date: Tue, 25 Nov 2008 11:25:11 -0700 (MST)

Author: dburgess00
Date: 2008-11-25 11:25:10 -0700 (Tue, 25 Nov 2008)
New Revision: 10053

Modified:
   openbts/trunk/GSM/GSMConfig.cpp
   openbts/trunk/GSM/GSML1FEC.cpp
Log:
Merged changes r10039:10051 including fix for bug #321

Modified: openbts/trunk/GSM/GSMConfig.cpp
===================================================================
--- openbts/trunk/GSM/GSMConfig.cpp     2008-11-25 17:55:24 UTC (rev 10052)
+++ openbts/trunk/GSM/GSMConfig.cpp     2008-11-25 18:25:10 UTC (rev 10053)
@@ -144,9 +144,7 @@
        ++chan;
        while (chan!=chanList.end()) {
                unsigned thisLoad = (*chan)->load();
-               if ((thisLoad<minLoad) ||
-                       ((thisLoad==minLoad) && (random()%2)) )
-               {
+               if (thisLoad<minLoad) {
                        minLoad = thisLoad;
                        retVal = *chan;
                }
@@ -168,10 +166,7 @@
        unsigned pos = random() % sz;
        for (unsigned i=0; i<sz; i++) {
                ChanType *chan = chanList[pos];
-               if (chan->recyclable()) {
-                       chan->open();
-                       return chan;
-               }
+               if (chan->recyclable()) return chan;
                pos = (pos+1) % sz;
        }
        return NULL;
@@ -185,6 +180,7 @@
 {
        mLock.lock();
        SDCCHLogicalChannel *chan = getChan<SDCCHLogicalChannel>(mSDCCHPool);
+       if (chan) chan->open();
        mLock.unlock();
        return chan;
 }
@@ -194,6 +190,7 @@
 {
        mLock.lock();
        TCHFACCHLogicalChannel *chan = 
getChan<TCHFACCHLogicalChannel>(mTCHPool);
+       if (chan) chan->open();
        mLock.unlock();
        return chan;
 }

Modified: openbts/trunk/GSM/GSML1FEC.cpp
===================================================================
--- openbts/trunk/GSM/GSML1FEC.cpp      2008-11-25 17:55:24 UTC (rev 10052)
+++ openbts/trunk/GSM/GSML1FEC.cpp      2008-11-25 18:25:10 UTC (rev 10053)
@@ -1234,6 +1234,13 @@
 
 void TCHFACCHL1Encoder::dispatch()
 {
+
+       // No downstream?  That's a problem.
+       assert(mDownstream);
+
+       // Get right with the system clock.
+       resync();
+
        // If the channel is not active, wait for a multiframe and return.
        // Most channels do not need this, becuase they are entirely data-driven
        // from above.  TCH/FACCH, however, must feed the interleaver on time.
@@ -1243,8 +1250,6 @@
                return;
        }
 
-       assert(mDownstream);
-
        // Let previous data get transmitted.
        resync();
        waitToSend();





reply via email to

[Prev in Thread] Current Thread [Next in Thread]