mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
Some scheduler API cleanup and improvements.
Previously, I had added the ast_sched_thread stuff that was a generic scheduler thread implementation. However, if you used it, it required using different functions for modifying scheduler contents. This patch reworks how this is done and just allows you to optionally start a thread on the original scheduler context structure that has always been there. This makes it trivial to switch to the generic scheduler thread implementation without having to touch any of the other code that adds or removes scheduler entries. In passing, I made some naming tweaks to add ast_ prefixes where they were not there before. Review: https://reviewboard.asterisk.org/r/1007/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@299091 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -205,7 +205,7 @@ static struct h323_alias_list {
|
||||
} aliasl;
|
||||
|
||||
/* Asterisk RTP stuff */
|
||||
static struct sched_context *sched;
|
||||
static struct ast_sched_context *sched;
|
||||
static struct io_context *io;
|
||||
|
||||
AST_MUTEX_DEFINE_STATIC(iflock); /*!< Protect the interface list (oh323_pvt) */
|
||||
@@ -3261,7 +3261,7 @@ static enum ast_module_load_result load_module(void)
|
||||
int res;
|
||||
|
||||
h323debug = 0;
|
||||
sched = sched_context_create();
|
||||
sched = ast_sched_context_create();
|
||||
if (!sched) {
|
||||
ast_log(LOG_WARNING, "Unable to create schedule context\n");
|
||||
return AST_MODULE_LOAD_FAILURE;
|
||||
@@ -3282,7 +3282,7 @@ static enum ast_module_load_result load_module(void)
|
||||
ast_cli_unregister(&cli_h323_reload);
|
||||
io_context_destroy(io);
|
||||
io = NULL;
|
||||
sched_context_destroy(sched);
|
||||
ast_sched_context_destroy(sched);
|
||||
sched = NULL;
|
||||
ASTOBJ_CONTAINER_DESTROY(&userl);
|
||||
ASTOBJ_CONTAINER_DESTROY(&peerl);
|
||||
@@ -3295,7 +3295,7 @@ static enum ast_module_load_result load_module(void)
|
||||
ast_cli_unregister(&cli_h323_reload);
|
||||
h323_end_process();
|
||||
io_context_destroy(io);
|
||||
sched_context_destroy(sched);
|
||||
ast_sched_context_destroy(sched);
|
||||
|
||||
ASTOBJ_CONTAINER_DESTROYALL(&userl, oh323_destroy_user);
|
||||
ASTOBJ_CONTAINER_DESTROY(&userl);
|
||||
@@ -3334,7 +3334,7 @@ static enum ast_module_load_result load_module(void)
|
||||
ast_cli_unregister(&cli_h323_reload);
|
||||
h323_end_process();
|
||||
io_context_destroy(io);
|
||||
sched_context_destroy(sched);
|
||||
ast_sched_context_destroy(sched);
|
||||
|
||||
ASTOBJ_CONTAINER_DESTROYALL(&userl, oh323_destroy_user);
|
||||
ASTOBJ_CONTAINER_DESTROY(&userl);
|
||||
@@ -3421,7 +3421,7 @@ static int unload_module(void)
|
||||
if (io)
|
||||
io_context_destroy(io);
|
||||
if (sched)
|
||||
sched_context_destroy(sched);
|
||||
ast_sched_context_destroy(sched);
|
||||
|
||||
ASTOBJ_CONTAINER_DESTROYALL(&userl, oh323_destroy_user);
|
||||
ASTOBJ_CONTAINER_DESTROY(&userl);
|
||||
|
Reference in New Issue
Block a user