mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
This commit adds a scheduler API call, ast_sched_replace that can be used
in place of a very common construct. I also used it in a number of places in chan_sip. if (id > -1) ast_sched_del(sched, id); id = ast_sched_add(sched, ...); changes to: ast_sched_replace(id, sched, ...); git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79861 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
13
main/sched.c
13
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);
|
||||
|
Reference in New Issue
Block a user