diff --git a/res/res_musiconhold.c b/res/res_musiconhold.c index b50b3a8e46b0755238e87e342d3172a1b190f87c..8647316d2347f48abe190c814ab2d66e3459f76d 100644 --- a/res/res_musiconhold.c +++ b/res/res_musiconhold.c @@ -1424,9 +1424,10 @@ static void moh_class_destructor(void *obj) while ((member = AST_LIST_REMOVE_HEAD(&class->members, list))) { free(member); } - + if (class->thread) { pthread_cancel(class->thread); + pthread_join(class->thread, NULL); class->thread = AST_PTHREADT_NULL; }