diff --git a/main/channel.c b/main/channel.c index a57f64925d..654f82419c 100644 --- a/main/channel.c +++ b/main/channel.c @@ -2233,6 +2233,7 @@ int ast_settimeout(struct ast_channel *c, int samples, int (*func)(const void *d { int res = -1; #ifdef HAVE_DAHDI + ast_channel_lock(c); if (c->timingfd > -1) { if (!func) { samples = 0; @@ -2243,7 +2244,8 @@ int ast_settimeout(struct ast_channel *c, int samples, int (*func)(const void *d c->timingfunc = func; c->timingdata = data; } -#endif + ast_channel_unlock(c); +#endif return res; }