https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r90142 | russell | 2007-11-28 18:06:08 -0600 (Wed, 28 Nov 2007) | 4 lines
Merge a change from team/russell/chan_refcount ...
This makes ast_stopstream() thread-safe.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90143
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
/*!
* \brief Stops a stream
/*!
* \brief Stops a stream
* \param c The channel you wish to stop playback on
* \param c The channel you wish to stop playback on
* Stop playback of a stream
* Stop playback of a stream
+ *
+ * \retval 0 always
+ *
+ * \note The channel does not need to be locked before calling this function.
*/
int ast_stopstream(struct ast_channel *c);
*/
int ast_stopstream(struct ast_channel *c);
int ast_stopstream(struct ast_channel *tmp)
{
int ast_stopstream(struct ast_channel *tmp)
{
+ ast_channel_lock(tmp);
+
/* Stop a running stream if there is one */
if (tmp->stream) {
ast_closestream(tmp->stream);
/* Stop a running stream if there is one */
if (tmp->stream) {
ast_closestream(tmp->stream);
ast_closestream(tmp->vstream);
tmp->vstream = NULL;
}
ast_closestream(tmp->vstream);
tmp->vstream = NULL;
}
+
+ ast_channel_unlock(tmp);
+