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: https://origsvn.digium.com/svn/asterisk/trunk@105899 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Russell Bryant 2008-03-05 00:45:39 +00:00
parent 6cf6059402
commit 39b9f81016
1 changed files with 6 additions and 1 deletions

View File

@ -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;
}