[asterisk-commits] qwell: branch 1.4 r269426 - /branches/1.4/res/res_musiconhold.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Jun 9 16:19:21 CDT 2010
Author: qwell
Date: Wed Jun 9 16:19:17 2010
New Revision: 269426
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=269426
Log:
Let systems without a working fork() use res_musiconhold.
Files mode doesn't require anything special, so that can still be used just fine.
AST-357
Modified:
branches/1.4/res/res_musiconhold.c
Modified: branches/1.4/res/res_musiconhold.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.4/res/res_musiconhold.c?view=diff&rev=269426&r1=269425&r2=269426
==============================================================================
--- branches/1.4/res/res_musiconhold.c (original)
+++ branches/1.4/res/res_musiconhold.c Wed Jun 9 16:19:17 2010
@@ -28,7 +28,6 @@
/*** MODULEINFO
<conflict>win32</conflict>
<use>dahdi</use>
- <depend>working_fork</depend>
***/
#include "asterisk.h"
@@ -353,6 +352,7 @@
.generate = moh_files_generator,
};
+#ifdef HAVE_WORKING_FORK
static int spawn_mp3(struct mohclass *class)
{
int fds[2];
@@ -605,6 +605,7 @@
}
return NULL;
}
+#endif
static int moh0_exec(struct ast_channel *chan, void *data)
{
@@ -917,6 +918,7 @@
return 0;
}
+#ifdef HAVE_WORKING_FORK
static int init_app_class(struct mohclass *class)
{
#ifdef HAVE_DAHDI
@@ -959,6 +961,7 @@
return 0;
}
+#endif
/*!
* \note This function owns the reference it gets to moh
@@ -988,10 +991,16 @@
} else if (!strcasecmp(moh->mode, "mp3") || !strcasecmp(moh->mode, "mp3nb") ||
!strcasecmp(moh->mode, "quietmp3") || !strcasecmp(moh->mode, "quietmp3nb") ||
!strcasecmp(moh->mode, "httpmp3") || !strcasecmp(moh->mode, "custom")) {
+#ifdef HAVE_WORKING_FORK
if (init_app_class(moh)) {
moh = mohclass_unref(moh);
return -1;
}
+#else
+ ast_log(LOG_WARNING, "Cannot use mode '%s' music on hold, as there is no working fork().\n", moh->mode);
+ moh = mohclass_unref(moh);
+ return -1;
+#endif
} else {
ast_log(LOG_WARNING, "Don't know how to do a mode '%s' music on hold\n", moh->mode);
moh = mohclass_unref(moh);
More information about the asterisk-commits
mailing list