diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/channel.c | 4 | ||||
-rw-r--r-- | main/timing.c | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/main/channel.c b/main/channel.c index daf5b7a8e..7c1e998af 100644 --- a/main/channel.c +++ b/main/channel.c @@ -1129,7 +1129,9 @@ __ast_channel_alloc_ap(int needqueue, int state, const char *cid_num, const char } if ((tmp->timer = ast_timer_open())) { - needqueue = 0; + if (strcmp(ast_timer_get_name(tmp->timer), "timerfd")) { + needqueue = 0; + } tmp->timingfd = ast_timer_fd(tmp->timer); } diff --git a/main/timing.c b/main/timing.c index d15024b32..23d3cf8ee 100644 --- a/main/timing.c +++ b/main/timing.c @@ -205,6 +205,11 @@ unsigned int ast_timer_get_max_rate(const struct ast_timer *handle) return res; } +const char *ast_timer_get_name(const struct ast_timer *handle) +{ + return handle->holder->iface->name; +} + static char *timing_test(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) { struct ast_timer *timer; |