From cb639936d1e86c30af8a0537928c74ee8c67d480 Mon Sep 17 00:00:00 2001 From: russell Date: Thu, 6 Mar 2008 00:15:54 +0000 Subject: Merged revisions 105899 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ........ r105899 | russell | 2008-03-04 18:45:39 -0600 (Tue, 04 Mar 2008) | 3 lines Fix the SHARED() read callback to properly unlock the channel. This function could not have worked, as it left the channel locked in all cases. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@106309 f38db490-d61c-443f-a65b-d21fe96a405b --- funcs/func_global.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'funcs') diff --git a/funcs/func_global.c b/funcs/func_global.c index 1f88d0017..d97379ce9 100644 --- a/funcs/func_global.c +++ b/funcs/func_global.c @@ -109,8 +109,11 @@ static int shared_read(struct ast_channel *chan, const char *cmd, char *data, ch } else ast_channel_lock(chan); - if (!(varstore = ast_channel_datastore_find(chan, &shared_variable_info, NULL))) + if (!(varstore = ast_channel_datastore_find(chan, &shared_variable_info, NULL))) { + ast_channel_unlock(chan); return -1; + } + varshead = varstore->data; *buf = '\0'; @@ -122,6 +125,8 @@ static int shared_read(struct ast_channel *chan, const char *cmd, char *data, ch } } + ast_channel_unlock(chan); + return 0; } -- cgit v1.2.3