linphone-developers
[Top][All Lists]
Advanced

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

Re: [Linphone-developers] Bug and bug-pesticide in session_set_select()


From: Simon Morlat
Subject: Re: [Linphone-developers] Bug and bug-pesticide in session_set_select() of oRTP-0.13.1 (multi-duplex-rtp-sessions problem)
Date: Thu, 24 Jan 2008 18:28:06 +0100
User-agent: KMail/1.9.7

Hi,

I read carefully your email.
But I'm sorry I still do not understand the bug !
If session_set_and() returns zero, no bits will be copied into recvs, but 
that's ok. That just means that no session have data to be received.
The application is expected to call session_set_reset() to initialize to 
zeroes the SessionSet before calling session_set_select(), so that no garbage 
bits are present in the sets, even if not written by session_set_select().
Maybe I missed something ?

Simon

Le Monday 17 December 2007 10:57:46 Машкин С В, vous avez écrit :
> Hi, Simon!
>
> > > Heart of session_set_select() bug, I've found, is that
> > >
> > >
> > >
> > > sends-event-information OVERWRITES recvs-event-information
> > >
> > >
> > >
> > > (if sends arised),
> > >
> > >
> > >
> > > and errors-event-information OVERWRITES recvs-event-information
> > >
> > >
> > >
> > > (if errors arised).
> >
> > How can this be possible ?
> >
> > Normally the sessionsets are large enough to contain the maximum number
> > of
> >
> > session allowed. How many sessions do you use simultaneously ?
>
> Sorry, if my description of the bug was not understandable...
>
> May be "OVERWRITES" was not correct word...
>
> (Now, one week after, I saw, that I wrote abracadabra
>
> instead of really clear description of "bug heart" =( Sorry.
>
>
>
> Now I'll try to explain the heart of the bug more clearly (I hope =).
>
>
>
> ---------------------------------------------------------------------
>
> As I wrote before,
>
> > The heart of the bug is (As it seems to me):
> >
> >
> >
> > when function session_set_select() is used, it must
> >
> >   1.return total number of rcv+send+error events
> >
> >   2.reset setted bits in sched->w_sessions,
> >
> >     sched->r_sessions sets
> >
> >   3.set/reset bits in recvs,sends,errors sets
> >
> >
> >
> > but current version (oRTP ver 0.13.1) of
> >
> > session_set_select does not correctly work with
> >
> >   3.set/reset bits in recvs,sends,errors sets
>
> As I can see,
>
> [3.set/reset bits in recvs,sends,errors sets]
>
> is devided into two steps:
>
>
>
> A)
>
> session_set_and() makes
>
> [3.set/reset bits in recvs,sends,errors sets]
>
> but writes the results only to [temp] variable.
>
>
>
> B)
>
> session_set_copy()
>
> copy these results from [temp] to [recvs],[sends]or[errors].
>
>
>
> BUT:
>
>
>
> if session_set_and() returns zero (for example for recvs, recvs!=NULL)
>
> step B) has no place (for recvs),
>
>
>
> if session_set_and() returns nonzero (for example for sends, sends!=NULL)
>
> step B) has place (for sends),
>
>
>
> so, operation [3.set/reset bits in recvs,sends,errors sets]
>
> is not finished for recvs, but finished for sends.
>
>
>
>
>
> As my experiments shown, this incomplete operation
>
> with [3.set/reset bits in recvs,sends,errors sets]
>
> leads to the descripted bug.
>
>
>
> That's all...
>
>
>
> P.S.: Sorry, again, for incorrect description in the 2nd message.
>
> Hope, the 3rd is correct and more understandable.
>
>
>
> Thanks,
>
> Serg Ma.
>
>
> _______________________________________________
> Linphone-developers mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/linphone-developers






reply via email to

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