diff options
Diffstat (limited to 'res')
-rw-r--r-- | res/res_calendar.c | 4 | ||||
-rw-r--r-- | res/res_rtp_asterisk.c | 6 | ||||
-rw-r--r-- | res/res_rtp_multicast.c | 4 | ||||
-rw-r--r-- | res/res_stun_monitor.c | 22 |
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; } |