diff options
Diffstat (limited to 'main/sched.c')
-rw-r--r-- | main/sched.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/main/sched.c b/main/sched.c index 1a07ab659..602c8516e 100644 --- a/main/sched.c +++ b/main/sched.c @@ -207,6 +207,12 @@ static int sched_settime(struct timeval *tv, int when) return 0; } +int ast_sched_replace_variable(int old_id, struct sched_context *con, int when, ast_sched_cb callback, void *data, int variable) +{ + if (old_id > -1) + ast_sched_del(con, old_id); + return ast_sched_add_variable(con, when, callback, data, variable); +} /*! \brief * Schedule callback(data) to happen when ms into the future @@ -244,6 +250,13 @@ int ast_sched_add_variable(struct sched_context *con, int when, ast_sched_cb cal return res; } +int ast_sched_replace(int old_id, struct sched_context *con, int when, ast_sched_cb callback, void *data) +{ + if (old_id > -1) + ast_sched_del(con, old_id); + return ast_sched_add(con, when, callback, data); +} + int ast_sched_add(struct sched_context *con, int when, ast_sched_cb callback, void *data) { return ast_sched_add_variable(con, when, callback, data, 0); |