summaryrefslogtreecommitdiff
path: root/res
diff options
context:
space:
mode:
Diffstat (limited to 'res')
-rw-r--r--res/res_calendar.c4
-rw-r--r--res/res_rtp_asterisk.c6
-rw-r--r--res/res_rtp_multicast.c4
-rw-r--r--res/res_stun_monitor.c22
4 files changed, 23 insertions, 13 deletions
diff --git a/res/res_calendar.c b/res/res_calendar.c
index 5457f86f8..f95c17de2 100644
--- a/res/res_calendar.c
+++ b/res/res_calendar.c
@@ -165,7 +165,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#define CALENDAR_BUCKETS 19
static struct ao2_container *calendars;
-static struct sched_context *sched;
+static struct ast_sched_context *sched;
static pthread_t refresh_thread = AST_PTHREADT_NULL;
static ast_mutex_t refreshlock;
static ast_cond_t refresh_condition;
@@ -1696,7 +1696,7 @@ static int load_module(void)
ast_cond_init(&refresh_condition, NULL);
ast_mutex_init(&reloadlock);
- if (!(sched = sched_context_create())) {
+ if (!(sched = ast_sched_context_create())) {
ast_log(LOG_ERROR, "Unable to create sched context\n");
return AST_MODULE_LOAD_FAILURE;
}
diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c
index 72032de60..785b4040d 100644
--- a/res/res_rtp_asterisk.c
+++ b/res/res_rtp_asterisk.c
@@ -159,7 +159,7 @@ struct ast_rtp {
int *ioid;
unsigned short seqno; /*!< Sequence number, RFC 3550, page 13. */
unsigned short rxseqno;
- struct sched_context *sched;
+ struct ast_sched_context *sched;
struct io_context *io;
void *data;
struct ast_rtcp *rtcp;
@@ -251,7 +251,7 @@ struct rtp_red {
AST_LIST_HEAD_NOLOCK(frame_list, ast_frame);
/* Forward Declarations */
-static int ast_rtp_new(struct ast_rtp_instance *instance, struct sched_context *sched, struct ast_sockaddr *addr, void *data);
+static int ast_rtp_new(struct ast_rtp_instance *instance, struct ast_sched_context *sched, struct ast_sockaddr *addr, void *data);
static int ast_rtp_destroy(struct ast_rtp_instance *instance);
static int ast_rtp_dtmf_begin(struct ast_rtp_instance *instance, char digit);
static int ast_rtp_dtmf_end(struct ast_rtp_instance *instance, char digit);
@@ -434,7 +434,7 @@ static int create_new_socket(const char *type, int af)
}
static int ast_rtp_new(struct ast_rtp_instance *instance,
- struct sched_context *sched, struct ast_sockaddr *addr,
+ struct ast_sched_context *sched, struct ast_sockaddr *addr,
void *data)
{
struct ast_rtp *rtp = NULL;
diff --git a/res/res_rtp_multicast.c b/res/res_rtp_multicast.c
index 56a8cd23c..4ec71f26e 100644
--- a/res/res_rtp_multicast.c
+++ b/res/res_rtp_multicast.c
@@ -89,7 +89,7 @@ struct multicast_rtp {
};
/* Forward Declarations */
-static int multicast_rtp_new(struct ast_rtp_instance *instance, struct sched_context *sched, struct ast_sockaddr *addr, void *data);
+static int multicast_rtp_new(struct ast_rtp_instance *instance, struct ast_sched_context *sched, struct ast_sockaddr *addr, void *data);
static int multicast_rtp_activate(struct ast_rtp_instance *instance);
static int multicast_rtp_destroy(struct ast_rtp_instance *instance);
static int multicast_rtp_write(struct ast_rtp_instance *instance, struct ast_frame *frame);
@@ -106,7 +106,7 @@ static struct ast_rtp_engine multicast_rtp_engine = {
};
/*! \brief Function called to create a new multicast instance */
-static int multicast_rtp_new(struct ast_rtp_instance *instance, struct sched_context *sched, struct ast_sockaddr *addr, void *data)
+static int multicast_rtp_new(struct ast_rtp_instance *instance, struct ast_sched_context *sched, struct ast_sockaddr *addr, void *data)
{
struct multicast_rtp *multicast;
const char *type = data;
diff --git a/res/res_stun_monitor.c b/res/res_stun_monitor.c
index bec76c826..8ce77141d 100644
--- a/res/res_stun_monitor.c
+++ b/res/res_stun_monitor.c
@@ -39,7 +39,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
static const int DEFAULT_MONITOR_REFRESH = 30;
static const char stun_conf_file[] = "res_stun_monitor.conf";
-static struct ast_sched_thread *sched;
+static struct ast_sched_context *sched;
static struct {
struct sockaddr_in stunaddr; /*!< The stun address we send requests to*/
@@ -150,7 +150,8 @@ monitor_request_cleanup:
static void stun_stop_monitor(void)
{
if (sched) {
- sched = ast_sched_thread_destroy(sched);
+ ast_sched_context_destroy(sched);
+ sched = NULL;
ast_log(LOG_NOTICE, "STUN monitor stopped\n");
}
/* it is only safe to destroy the socket without holding arg->lock
@@ -188,20 +189,29 @@ static int stun_start_monitor(void)
return 0; /* already started */
}
- if (!(sched = ast_sched_thread_create())) {
- ast_log(LOG_ERROR, "Failed to create stun monitor scheduler thread\n");
+ if (!(sched = ast_sched_context_create())) {
+ ast_log(LOG_ERROR, "Failed to create stun monitor scheduler context\n");
stun_close_sock();
return -1;
}
- if (ast_sched_thread_add_variable(sched, (args.refresh * 1000), stun_monitor_request, NULL, 1) < 0) {
+ if (ast_sched_start_thread(sched)) {
+ ast_sched_context_destroy(sched);
+ sched = NULL;
+ stun_close_sock();
+ return -1;
+ }
+
+ if (ast_sched_add_variable(sched, (args.refresh * 1000), stun_monitor_request, NULL, 1) < 0) {
ast_log(LOG_ERROR, "Unable to schedule STUN network monitor \n");
- sched = ast_sched_thread_destroy(sched);
+ ast_sched_context_destroy(sched);
+ sched = NULL;
stun_close_sock();
return -1;
}
ast_log(LOG_NOTICE, "STUN monitor started\n");
+
return 0;
}