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:
parent
6cf6059402
commit
39b9f81016
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue