mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 20:04:50 +00:00
Cross-platform fix: OS X now deprecates the use of the daemon(3) API.
(closes issue #11908) Reported by: oej Patches: 20080204__bug11908.diff.txt uploaded by Corydon76 (license 14) Tested by: Corydon76 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@102323 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1090,6 +1090,8 @@ AC_CHECK_HEADER([linux/ixjuser.h], [PBX_IXJUSER=1], [PBX_IXJUSER=0], [
|
||||
])
|
||||
AC_SUBST(PBX_IXJUSER)
|
||||
|
||||
AC_CHECK_FILE(/sbin/launchd, AC_DEFINE([HAVE_SBIN_LAUNCHD], 1, [Define to 1 if your system has /sbin/launchd.]))
|
||||
|
||||
PBX_GTK=0
|
||||
AC_CHECK_TOOL(GTKCONFIG, gtk-config, No)
|
||||
if test ! "x${GTKCONFIG}" = xNo; then
|
||||
|
@@ -320,6 +320,9 @@
|
||||
*/
|
||||
#undef HAVE_RTLD_NOLOAD
|
||||
|
||||
/* Define to 1 if your system has /sbin/launchd. */
|
||||
#undef HAVE_SBIN_LAUNCHD
|
||||
|
||||
/* Define to 1 if you have the `select' function. */
|
||||
#undef HAVE_SELECT
|
||||
|
||||
@@ -638,9 +641,6 @@
|
||||
#ifndef _POSIX_PTHREAD_SEMANTICS
|
||||
# undef _POSIX_PTHREAD_SEMANTICS
|
||||
#endif
|
||||
#ifndef _TANDEM_SOURCE
|
||||
# undef _TANDEM_SOURCE
|
||||
#endif
|
||||
|
||||
/* Define like PROTOTYPES; this can be used by system headers. */
|
||||
#undef __PROTOTYPES
|
||||
|
@@ -2844,6 +2844,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
#if HAVE_WORKING_FORK
|
||||
if (ast_opt_always_fork || !ast_opt_no_fork) {
|
||||
#ifndef HAVE_SBIN_LAUNCHD
|
||||
daemon(1, 0);
|
||||
ast_mainpid = getpid();
|
||||
/* Blindly re-write pid file since we are forking */
|
||||
@@ -2854,6 +2855,9 @@ int main(int argc, char *argv[])
|
||||
fclose(f);
|
||||
} else
|
||||
ast_log(LOG_WARNING, "Unable to open pid file '%s': %s\n", ast_config_AST_PID, strerror(errno));
|
||||
#else
|
||||
ast_log(LOG_WARNING, "Mac OS X detected. Use '/sbin/launchd -d' to launch with the nofork option.\n");
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@@ -680,8 +680,14 @@ int main(int argc, char *argv[])
|
||||
fclose(astf);
|
||||
exit(1);
|
||||
}
|
||||
if (needfork)
|
||||
if (needfork) {
|
||||
#ifndef HAVE_SBIN_LAUNCHD
|
||||
daemon(0,0);
|
||||
#else
|
||||
fprintf(stderr, "Mac OS X detected. Use 'launchd -d muted -f' to launch.\n");
|
||||
exit(1);
|
||||
#endif
|
||||
}
|
||||
for(;;) {
|
||||
if (wait_event()) {
|
||||
fclose(astf);
|
||||
|
Reference in New Issue
Block a user