aboutsummaryrefslogtreecommitdiffstats
path: root/res
diff options
context:
space:
mode:
authormatteo <matteo@f38db490-d61c-443f-a65b-d21fe96a405b>2003-03-04 06:00:19 +0000
committermatteo <matteo@f38db490-d61c-443f-a65b-d21fe96a405b>2003-03-04 06:00:19 +0000
commit91371ff934f1b3a9bcc3b5a4555143faefa53a70 (patch)
treea3cf1e0cb0fa8eefa5779698cef6b7f9329bd52e /res
parentddf7eb769521e76b87e0400c3bee66372111259c (diff)
Tue Mar 4 07:00:01 CET 2003
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@631 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res')
-rwxr-xr-xres/res_musiconhold.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/res/res_musiconhold.c b/res/res_musiconhold.c
index 127047186..0d540aebd 100755
--- a/res/res_musiconhold.c
+++ b/res/res_musiconhold.c
@@ -531,11 +531,27 @@ static void load_moh_classes(void)
}
}
+void ast_moh_destroy(void)
+{
+ struct mohclass *moh;
+ ast_pthread_mutex_lock(&moh_lock);
+ moh = mohclasses;
+ while(moh) {
+ if (moh->pid) {
+ kill(moh->pid, SIGKILL);
+ moh->pid = 0;
+ }
+ moh = moh->next;
+ }
+ ast_pthread_mutex_unlock(&moh_lock);
+}
+
int load_module(void)
{
int res;
load_moh_classes();
res = ast_register_application(app0, moh0_exec, synopsis0, descrip0);
+ atexit(ast_moh_destroy);
if (!res)
res = ast_register_application(app1, moh1_exec, synopsis1, descrip1);
if (!res)