aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2009-02-11 14:46:13 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2009-02-11 14:46:13 +0000
commit8be4ac7decae05827e6b700fe2208db177525740 (patch)
treeda5d8addea7601ad09cfa0a1f744a0706a4272ad /main
parentb5796a47af381b95374463ec32bd67b73a99c359 (diff)
Merged revisions 174844 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r174844 | file | 2009-02-11 10:44:47 -0400 (Wed, 11 Feb 2009) | 10 lines Tell the device state core a change happened when a channel is freed but not a specific state. We need to do this because while we know that the freeing of the channel may cause something to become not in use we do not know this for sure. There may be another channel that is still up which would cause it to be in use. (closes issue #13238) Reported by: kowalma Patches: 20090121__bug13238.diff.txt uploaded by Corydon76 (license 14) Tested by: alecdavis ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@174846 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r--main/channel.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/main/channel.c b/main/channel.c
index 1f97e44e0..69689f79c 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -1389,7 +1389,10 @@ void ast_channel_free(struct ast_channel *chan)
ast_free(chan);
AST_RWLIST_UNLOCK(&channels);
- ast_devstate_changed_literal(AST_DEVICE_NOT_INUSE, name);
+ /* Queue an unknown state, because, while we know that this particular
+ * instance is dead, we don't know the state of all other possible
+ * instances. */
+ ast_devstate_changed_literal(AST_DEVICE_UNKNOWN, name);
}
struct ast_datastore *ast_channel_datastore_alloc(const struct ast_datastore_info *info, const char *uid)