aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_unistim.c
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2010-12-20 17:15:54 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2010-12-20 17:15:54 +0000
commitc15c0120f1da9354dbfffd80d43f83c3ef372732 (patch)
treed1049b4c6e02a7236e3a64c09f10633b99decc64 /channels/chan_unistim.c
parentef5097f7805184a21929702dd7e28cfce9dc3261 (diff)
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: http://svn.digium.com/svn/asterisk/trunk@299091 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_unistim.c')
-rw-r--r--channels/chan_unistim.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/channels/chan_unistim.c b/channels/chan_unistim.c
index 3c307a682..155890250 100644
--- a/channels/chan_unistim.c
+++ b/channels/chan_unistim.c
@@ -217,7 +217,7 @@ static struct {
} qos = { 0, 0, 0, 0 };
static struct io_context *io;
-static struct sched_context *sched;
+static struct ast_sched_context *sched;
static struct sockaddr_in public_ip = { 0, };
/*! give the IP address for the last packet received */
static struct sockaddr_in address_from;
@@ -5645,7 +5645,7 @@ int load_module(void)
goto io_failed;
}
- sched = sched_context_create();
+ sched = ast_sched_context_create();
if (!sched) {
ast_log(LOG_ERROR, "Failed to allocate scheduler context\n");
goto sched_failed;
@@ -5671,7 +5671,7 @@ int load_module(void)
chanreg_failed:
/*! XXX \todo Leaking anything allocated by reload_config() ... */
- sched_context_destroy(sched);
+ ast_sched_context_destroy(sched);
sched = NULL;
sched_failed:
io_context_destroy(io);
@@ -5686,8 +5686,9 @@ buff_failed:
static int unload_module(void)
{
/* First, take us out of the channel loop */
- if (sched)
- sched_context_destroy(sched);
+ if (sched) {
+ ast_sched_context_destroy(sched);
+ }
ast_cli_unregister_multiple(unistim_cli, ARRAY_LEN(unistim_cli));