aboutsummaryrefslogtreecommitdiffstats
path: root/main/timing.c
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2008-06-26 15:37:01 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2008-06-26 15:37:01 +0000
commit5a1f7d897e1381e17edd9cc54271bb4ec2e3a56e (patch)
tree118582e660d2690096ebef4c51e0bd240a6507e0 /main/timing.c
parent6cafe1a2572a8955f9a5f9e270fec7b12046b182 (diff)
- add get_max_rate timing API call
- change ast_settimeout() to honor max rate in edge cases of file playback (this will make some warning messages go away at the end of playing back a file) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@125332 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/timing.c')
-rw-r--r--main/timing.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/main/timing.c b/main/timing.c
index 5f6023203..982186706 100644
--- a/main/timing.c
+++ b/main/timing.c
@@ -46,6 +46,7 @@ void *ast_install_timing_functions(struct ast_timing_functions *funcs)
!funcs->timer_set_rate ||
!funcs->timer_ack ||
!funcs->timer_get_event ||
+ !funcs->timer_get_max_rate ||
!funcs->timer_enable_continuous ||
!funcs->timer_disable_continuous) {
return NULL;
@@ -198,6 +199,19 @@ enum ast_timing_event ast_timer_get_event(int handle)
return result;
}
+unsigned int ast_timer_get_max_rate(int handle)
+{
+ unsigned int res;
+
+ ast_rwlock_rdlock(&lock);
+
+ res = timer_funcs.timer_get_max_rate(handle);
+
+ ast_rwlock_unlock(&lock);
+
+ return res;
+}
+
static char *timing_test(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
{
int fd, count = 0;