--- pbx.c 6 Oct 2003 00:41:43 -0000 1.59 +++ pbx.c 16 Oct 2003 13:06:56 -0000 @@ -3790,6 +3790,7 @@ int res = -1; char *var, *tmp; struct outgoing_helper oh; + pthread_attr_t attr; if (sync) { LOAD_OH(oh); chan = __ast_request_and_dial(type, format, data, timeout, reason, callerid, &oh); @@ -3854,7 +3855,9 @@ strncpy(as->exten, exten, sizeof(as->exten) - 1); as->priority = priority; as->timeout = timeout; - if (pthread_create(&as->p, NULL, async_wait, as)) { + pthread_attr_init(&attr); + pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); + if (pthread_create(&as->p, &attr, async_wait, as)) { ast_log(LOG_WARNING, "Failed to start async wait\n"); free(as); ast_hangup(chan); @@ -3895,6 +3898,7 @@ struct app_tmp *tmp; char *var, *vartmp; int res = -1; + pthread_attr_t attr; if (!app || !strlen(app)) return -1; if (sync) { @@ -3949,7 +3953,9 @@ if (appdata) strncpy(as->appdata, appdata, sizeof(as->appdata) - 1); as->timeout = timeout; - if (pthread_create(&as->p, NULL, async_wait, as)) { + pthread_attr_init(&attr); + pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); + if (pthread_create(&as->p, &attr, async_wait, as)) { ast_log(LOG_WARNING, "Failed to start async wait\n"); free(as); ast_hangup(chan);