diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_meetme.c | 17 | ||||
-rw-r--r-- | apps/app_mixmonitor.c | 6 | ||||
-rw-r--r-- | apps/app_rpt.c | 29 |
3 files changed, 9 insertions, 43 deletions
diff --git a/apps/app_meetme.c b/apps/app_meetme.c index 0e50414db..5fffa916c 100644 --- a/apps/app_meetme.c +++ b/apps/app_meetme.c @@ -1428,10 +1428,7 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c ast_hangup(conf->lchan); conf->lchan = NULL; } else { - pthread_attr_init(&conf->attr); - pthread_attr_setdetachstate(&conf->attr, PTHREAD_CREATE_DETACHED); - ast_pthread_create_background(&conf->recordthread, &conf->attr, recordthread, conf); - pthread_attr_destroy(&conf->attr); + ast_pthread_create_detached_background(&conf->recordthread, &conf->attr, recordthread, conf); } } @@ -3458,7 +3455,6 @@ static void sla_handle_dial_state_event(void) struct sla_ringing_trunk *ringing_trunk = NULL; struct run_station_args args; enum ast_dial_result dial_res; - pthread_attr_t attr; pthread_t dont_care; ast_mutex_t cond_lock; ast_cond_t cond; @@ -3499,15 +3495,12 @@ static void sla_handle_dial_state_event(void) free(ringing_station); ast_mutex_init(&cond_lock); ast_cond_init(&cond, NULL); - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); ast_mutex_lock(&cond_lock); - ast_pthread_create_background(&dont_care, &attr, run_station, &args); + ast_pthread_create_detached_background(&dont_care, NULL, run_station, &args); ast_cond_wait(&cond, &cond_lock); ast_mutex_unlock(&cond_lock); ast_mutex_destroy(&cond_lock); ast_cond_destroy(&cond); - pthread_attr_destroy(&attr); break; case AST_DIAL_RESULT_TRYING: case AST_DIAL_RESULT_RINGING: @@ -4237,7 +4230,6 @@ static int sla_station_exec(struct ast_channel *chan, void *data) ast_mutex_t cond_lock; ast_cond_t cond; pthread_t dont_care; - pthread_attr_t attr; struct dial_trunk_args args = { .trunk_ref = trunk_ref, .station = station, @@ -4251,15 +4243,12 @@ static int sla_station_exec(struct ast_channel *chan, void *data) ast_autoservice_start(chan); ast_mutex_init(&cond_lock); ast_cond_init(&cond, NULL); - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); ast_mutex_lock(&cond_lock); - ast_pthread_create_background(&dont_care, &attr, dial_trunk, &args); + ast_pthread_create_detached_background(&dont_care, NULL, dial_trunk, &args); ast_cond_wait(&cond, &cond_lock); ast_mutex_unlock(&cond_lock); ast_mutex_destroy(&cond_lock); ast_cond_destroy(&cond); - pthread_attr_destroy(&attr); ast_autoservice_stop(chan); if (!trunk_ref->trunk->chan) { ast_log(LOG_DEBUG, "Trunk didn't get created. chan: %lx\n", (long) trunk_ref->trunk->chan); diff --git a/apps/app_mixmonitor.c b/apps/app_mixmonitor.c index 40faee216..f29391273 100644 --- a/apps/app_mixmonitor.c +++ b/apps/app_mixmonitor.c @@ -229,7 +229,6 @@ static void *mixmonitor_thread(void *obj) static void launch_monitor_thread(struct ast_channel *chan, const char *filename, unsigned int flags, int readvol, int writevol, const char *post_process) { - pthread_attr_t attr; pthread_t thread; struct mixmonitor *mixmonitor; char postprocess2[1024] = ""; @@ -296,10 +295,7 @@ static void launch_monitor_thread(struct ast_channel *chan, const char *filename return; } - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); - ast_pthread_create_background(&thread, &attr, mixmonitor_thread, mixmonitor); - pthread_attr_destroy(&attr); + ast_pthread_create_detached_background(&thread, NULL, mixmonitor_thread, mixmonitor); } diff --git a/apps/app_rpt.c b/apps/app_rpt.c index 73a817a84..e59a7bbb5 100644 --- a/apps/app_rpt.c +++ b/apps/app_rpt.c @@ -2452,7 +2452,6 @@ static void rpt_telemetry(struct rpt *myrpt, int mode, void *data) struct rpt_tele *tele; struct rpt_link *mylink = (struct rpt_link *) data; int res; - pthread_attr_t attr; tele = ast_calloc(1, sizeof(struct rpt_tele)); if (!tele) { @@ -2471,10 +2470,7 @@ static void rpt_telemetry(struct rpt *myrpt, int mode, void *data) } insque((struct qelem *)tele, (struct qelem *)myrpt->tele.next); rpt_mutex_unlock(&myrpt->lock); - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); - res = ast_pthread_create(&tele->threadid, &attr, rpt_tele_thread, (void *) tele); - pthread_attr_destroy(&attr); + res = ast_pthread_create_detached(&tele->threadid, NULL, rpt_tele_thread, (void *) tele); if (res != 0) { rpt_mutex_lock(&myrpt->lock); remque((struct qlem *) tele); /* We don't like stuck transmitters, remove it from the queue */ @@ -3108,7 +3104,6 @@ static int function_ilink(struct rpt *myrpt, char *param, char *digits, int comm static int function_autopatchup(struct rpt *myrpt, char *param, char *digitbuf, int command_source, struct rpt_link *mylink) { - pthread_attr_t attr; int i, index; char *value = NULL; AST_DECLARE_APP_ARGS(params, @@ -3184,10 +3179,7 @@ static int function_autopatchup(struct rpt *myrpt, char *param, char *digitbuf, myrpt->cidx = 0; myrpt->exten[myrpt->cidx] = 0; rpt_mutex_unlock(&myrpt->lock); - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); - ast_pthread_create(&myrpt->rpt_call_thread, &attr, rpt_call, (void *) myrpt); - pthread_attr_destroy(&attr); + ast_pthread_create_detached(&myrpt->rpt_call_thread, NULL, rpt_call, (void *) myrpt); return DC_COMPLETE; } @@ -5448,7 +5440,6 @@ static int attempt_reconnect(struct rpt *myrpt, struct rpt_link *l) static void local_dtmf_helper(struct rpt *myrpt, char c) { int res; - pthread_attr_t attr; char cmd[MAXDTMF+1] = ""; if (c == myrpt->p.endchar) { @@ -5537,10 +5528,7 @@ static void local_dtmf_helper(struct rpt *myrpt, char c) myrpt->cidx = 0; myrpt->exten[myrpt->cidx] = 0; rpt_mutex_unlock(&myrpt->lock); - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); - ast_pthread_create(&myrpt->rpt_call_thread, &attr, rpt_call, (void *)myrpt); - pthread_attr_destroy(&attr); + ast_pthread_create_detached(&myrpt->rpt_call_thread, NULL, rpt_call, (void *)myrpt); return; } } @@ -6668,7 +6656,6 @@ static void *rpt(void *this) static void *rpt_master(void *config) { int i, n; - pthread_attr_t attr; struct ast_config *cfg; char *this; const char *val; @@ -6732,10 +6719,7 @@ static void *rpt_master(void *config) ast_config_destroy(cfg); pthread_exit(NULL); } - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); - ast_pthread_create(&rpt_vars[i].rpt_thread, &attr, rpt, (void *) &rpt_vars[i]); - pthread_attr_destroy(&attr); + ast_pthread_create_detached(&rpt_vars[i].rpt_thread, NULL, rpt, (void *) &rpt_vars[i]); } usleep(500000); for (;;) { @@ -6761,10 +6745,7 @@ static void *rpt_master(void *config) rpt_vars[i].threadrestarts = 0; rpt_vars[i].lastthreadrestarttime = time(NULL); - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); - ast_pthread_create(&rpt_vars[i].rpt_thread, &attr, rpt, (void *) &rpt_vars[i]); - pthread_attr_destroy(&attr); + ast_pthread_create_detached(&rpt_vars[i].rpt_thread, NULL, rpt, (void *) &rpt_vars[i]); ast_log(LOG_WARNING, "rpt_thread restarted on node %s\n", rpt_vars[i].name); } |