[pjsip] Question about stream.c

Benny Prijono bennylp at pjsip.org
Fri Feb 15 16:21:20 EST 2008

On 2/14/08, Michael Broughton <Michael_Broughton at advanis.ca> wrote:
> Yes I am trying very hard to minimize my local changes.
>  The idea is to have pjmedia_stream_destroy flips a flag somewhere to
>  indicate that it is attempting to destroy a stream. In my local patch,
>  the flag is a member of the stream structure. Then the DTMF callback can
>  check this flag while it is trying to acquire the call lock.
>  The benefit of this is that the DTMF callback can fail gracefully
>  without waiting for a soft deadlock. The flag essentially gives it an
>  early warning that a soft deadlock is going to occur.

Wouldn't this still be prone to some race condition? The on_dtmf()
callback might get the variable before the destroy thread sets it.

>  Do you think it would be possible to do something like this without
>  touching pjmedia? Could this be done in PJSUA? I have a feeling that
>  this would be the only clean way to implement this.

The only clean solution that I could think of is to post the destroy
request to main thread. But you've said that you didn't like this one,


More information about the pjsip mailing list