summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell Bryant <russell@russellbryant.com>2006-07-22 00:08:21 +0000
committerRussell Bryant <russell@russellbryant.com>2006-07-22 00:08:21 +0000
commit41ab9c501517804eadbd65987059a17ceef7af80 (patch)
tree8d02adf996ab55c020efe1ae43108e080e76d970
parent8dad7e730e0bc298205996b3e49e480b8adf7292 (diff)
remove an XXX comment and document that ast_autoservice_start() will return -1
if the channel is already in the autoservice list. Why is this a valid case to return -1, you ask? Well, there should never be any code where it is not clear if the channel is in autoservice or not because trying to read frames from a channel that is in the autoservice list will lead to bad results because more than one thread will be waiting on frames to arrive on the channel and then trying to read them. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38076 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r--autoservice.c1
-rw-r--r--include/asterisk/channel.h14
2 files changed, 12 insertions, 3 deletions
diff --git a/autoservice.c b/autoservice.c
index c0adc7f2b..51a1e1ca6 100644
--- a/autoservice.c
+++ b/autoservice.c
@@ -104,7 +104,6 @@ int ast_autoservice_start(struct ast_channel *chan)
if (as->chan == chan)
break;
}
- /* XXX if found, we return -1, why ??? */
/* If not, start autoservice on channel */
if (!as && (as = ast_calloc(1, sizeof(*as)))) {
diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h
index 3d842bbe3..d3d5862ad 100644
--- a/include/asterisk/channel.h
+++ b/include/asterisk/channel.h
@@ -1060,10 +1060,20 @@ void ast_tonepair_stop(struct ast_channel *chan);
/*! Play a tone pair for a given amount of time */
int ast_tonepair(struct ast_channel *chan, int freq1, int freq2, int duration, int vol);
-/*! Automatically service a channel for us... */
+/*!
+ * \brief Automatically service a channel for us...
+ *
+ * \retval 0 success
+ * \retval -1 failure, or the channel is already being autoserviced
+ */
int ast_autoservice_start(struct ast_channel *chan);
-/*! Stop servicing a channel for us... Returns -1 on error or if channel has been hungup */
+/*!
+ * \brief Stop servicing a channel for us...
+ *
+ * \retval 0 success
+ * \retval -1 error, or the channel has been hungup
+ */
int ast_autoservice_stop(struct ast_channel *chan);
/* If built with zaptel optimizations, force a scheduled expiration on the