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

[ns] bug in channel.cc ? (incl. patch)



Hi,

it seems there might be the theoritical possibility for loosing packets in channel.cc, it should be fixed with the inserted lines. 

Channel::sendUp()
...

      for (i=0; i < out_index; i ++)
      {
         newp = p->copy();
         rnode = outlist[i];
         propdelay = get_pdelay(tnode, rnode);

         rifp = (rnode->ifhead()).lh_first;
+         bool newpScheduled=false;
         for(; rifp; rifp = rifp->nextnode())
         {
            if (rifp->channel() == this)
            {
               newpScheduled=true;
               s.schedule(rifp, newp, propdelay);
               break;
            }
         }
+         if (newpScheduled==false)
+               Packet::free(newp);
      }


Bye
Alex
--
Free Dmitry Sklyarov ! 
http://www.freesklyarov.org