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:
Russell Bryant
2010-12-20 17:15:54 +00:00
parent cf655aa1c9
commit cc0b7e7df5
28 changed files with 328 additions and 405 deletions

View File

@@ -173,7 +173,7 @@ enum {
#endif
static struct io_context *io;
static struct sched_context *sched;
static struct ast_sched_context *sched;
static int netsocket = -1;
static pthread_t netthreadid = AST_PTHREADT_NULL;
static pthread_t precachethreadid = AST_PTHREADT_NULL;
@@ -4803,7 +4803,7 @@ static int unload_module(void)
ast_custom_function_unregister(&dundi_result_function);
close(netsocket);
io_context_destroy(io);
sched_context_destroy(sched);
ast_sched_context_destroy(sched);
mark_mappings();
prune_mappings();
@@ -4836,7 +4836,7 @@ static int load_module(void)
/* Make a UDP socket */
io = io_context_create();
sched = sched_context_create();
sched = ast_sched_context_create();
if (!io || !sched)
return AST_MODULE_LOAD_DECLINE;