Minor tweak - we need to lock the channel when we are removing the spy from it.
authorJoshua Colp <jcolp@digium.com>
Tue, 5 Sep 2006 17:01:02 +0000 (17:01 +0000)
committerJoshua Colp <jcolp@digium.com>
Tue, 5 Sep 2006 17:01:02 +0000 (17:01 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@42021 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_chanspy.c

index d0fdda2..01adbac 100644 (file)
@@ -370,7 +370,9 @@ static int channel_spy(struct ast_channel *chan, struct ast_channel *spyee, int
        /* If a channel still exists on our spy structure then we need to remove ourselves */
        if (csth.spy.chan) {
                csth.spy.status = CHANSPY_DONE;
+               ast_channel_lock(csth.spy.chan);
                ast_channel_spy_remove(csth.spy.chan, &csth.spy);
+               ast_channel_unlock(csth.spy.chan);
        }
        ast_channel_spy_free(&csth.spy);