diff options
Diffstat (limited to 'channels/chan_iax2.c')
-rw-r--r-- | channels/chan_iax2.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 66f0b97b6..f9a4d3f94 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -6163,6 +6163,8 @@ static void spawn_dp_lookup(int callno, const char *context, const char *calledn if (ast_pthread_create(&newthread, &attr, dp_lookup_thread, dpr)) { ast_log(LOG_WARNING, "Unable to start lookup thread!\n"); } + + pthread_attr_destroy(&attr); } struct iax_dual { @@ -6237,8 +6239,11 @@ static int iax_park(struct ast_channel *chan1, struct ast_channel *chan2) d->chan1 = chan1m; d->chan2 = chan2m; - if (!ast_pthread_create_background(&th, &attr, iax_park_thread, d)) + if (!ast_pthread_create_background(&th, &attr, iax_park_thread, d)) { + pthread_attr_destroy(&attr); return 0; + } + pthread_attr_destroy(&attr); free(d); } return -1; |