aboutsummaryrefslogtreecommitdiffstats
path: root/main/channel.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/channel.c')
-rw-r--r--main/channel.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/main/channel.c b/main/channel.c
index eb4aa05d9..b5e6dabce 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -1702,25 +1702,22 @@ int ast_activate_generator(struct ast_channel *chan, struct ast_generator *gen,
int res = 0;
ast_channel_lock(chan);
-
if (chan->generatordata) {
if (chan->generator && chan->generator->release)
chan->generator->release(chan, chan->generatordata);
chan->generatordata = NULL;
}
-
- ast_prod(chan);
if (gen->alloc && !(chan->generatordata = gen->alloc(chan, params))) {
res = -1;
}
-
if (!res) {
ast_settimeout(chan, 160, generator_force, chan);
chan->generator = gen;
}
-
ast_channel_unlock(chan);
+ ast_prod(chan);
+
return res;
}