diff options
Diffstat (limited to 'channels/chan_oss.c')
-rw-r--r-- | channels/chan_oss.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/channels/chan_oss.c b/channels/chan_oss.c index 5ae18f362..92c7374db 100644 --- a/channels/chan_oss.c +++ b/channels/chan_oss.c @@ -799,6 +799,7 @@ static struct ast_channel *oss_new(struct chan_oss_pvt *o, char *ext, char *ctx, c = ast_channel_alloc(1, state, o->cid_num, o->cid_name, "", ext, ctx, linkedid, 0, "Console/%s", o->device + 5); if (c == NULL) return NULL; + ast_channel_lock(c); ast_channel_tech_set(c, &oss_tech); if (o->sounddev < 0) setformat(o, O_RDWR); @@ -829,6 +830,7 @@ static struct ast_channel *oss_new(struct chan_oss_pvt *o, char *ext, char *ctx, o->owner = c; ast_module_ref(ast_module_info->self); ast_jb_configure(c, &global_jbconf); + ast_channel_unlock(c); if (state != AST_STATE_DOWN) { if (ast_pbx_start(c)) { ast_log(LOG_WARNING, "Unable to start PBX on %s\n", ast_channel_name(c)); |