diff options
Diffstat (limited to 'channels/chan_alsa.c')
-rw-r--r-- | channels/chan_alsa.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/channels/chan_alsa.c b/channels/chan_alsa.c index 60bbacbb8..065eff551 100644 --- a/channels/chan_alsa.c +++ b/channels/chan_alsa.c @@ -581,6 +581,7 @@ static struct ast_channel *alsa_new(struct chan_alsa_pvt *p, int state, const ch if (!(tmp = ast_channel_alloc(1, state, 0, 0, "", p->exten, p->context, linkedid, 0, "ALSA/%s", indevname))) return NULL; + ast_channel_lock(tmp); ast_channel_stage_snapshot(tmp); ast_channel_tech_set(tmp, &alsa_tech); @@ -601,6 +602,7 @@ static struct ast_channel *alsa_new(struct chan_alsa_pvt *p, int state, const ch ast_jb_configure(tmp, &global_jbconf); ast_channel_stage_snapshot_done(tmp); + ast_channel_unlock(tmp); if (state != AST_STATE_DOWN) { if (ast_pbx_start(tmp)) { |