mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-04 05:15:22 +00:00 
			
		
		
		
	https://origsvn.digium.com/svn/asterisk/trunk ................ r172441 | tilghman | 2009-01-29 17:15:40 -0600 (Thu, 29 Jan 2009) | 16 lines Merged revisions 172438 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r172438 | tilghman | 2009-01-29 16:54:29 -0600 (Thu, 29 Jan 2009) | 9 lines Lose the CAP_NET_ADMIN at every fork, instead of at startup. Otherwise, if Asterisk runs as a non-root user and the administrator does a 'restart now', Asterisk loses the ability to set QOS on packets. (closes issue #14004) Reported by: nemo Patches: 20090105__bug14004.diff.txt uploaded by Corydon76 (license 14) Tested by: Corydon76 ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@172504 65c4cc65-6c06-0410-ace0-fbb531ad65f3
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# AST_FUNC_FORK
 | 
						|
# -------------
 | 
						|
AN_FUNCTION([fork],  [AST_FUNC_FORK])
 | 
						|
AN_FUNCTION([vfork], [AST_FUNC_FORK])
 | 
						|
AC_DEFUN([AST_FUNC_FORK],
 | 
						|
[AC_REQUIRE([AC_TYPE_PID_T])dnl
 | 
						|
AC_CHECK_HEADERS(vfork.h)
 | 
						|
AC_CHECK_FUNCS(fork vfork)
 | 
						|
if test "x$ac_cv_func_fork" = xyes; then
 | 
						|
  _AST_FUNC_FORK
 | 
						|
else
 | 
						|
  ac_cv_func_fork_works=$ac_cv_func_fork
 | 
						|
fi
 | 
						|
if test "x$ac_cv_func_fork_works" = xcross; then
 | 
						|
  case $host in
 | 
						|
    *-*-amigaos* | *-*-msdosdjgpp* | *-*-uclinux* | *-*-linux-uclibc* )
 | 
						|
      # Override, as these systems have only a dummy fork() stub
 | 
						|
      ac_cv_func_fork_works=no
 | 
						|
      ;;
 | 
						|
    *)
 | 
						|
      ac_cv_func_fork_works=yes
 | 
						|
      ;;
 | 
						|
  esac
 | 
						|
  AC_MSG_WARN([result $ac_cv_func_fork_works guessed because of cross compilation])
 | 
						|
fi
 | 
						|
ac_cv_func_vfork_works=$ac_cv_func_vfork
 | 
						|
if test "x$ac_cv_func_vfork" = xyes; then
 | 
						|
  _AC_FUNC_VFORK
 | 
						|
fi;
 | 
						|
if test "x$ac_cv_func_fork_works" = xcross; then
 | 
						|
  ac_cv_func_vfork_works=$ac_cv_func_vfork
 | 
						|
  AC_MSG_WARN([result $ac_cv_func_vfork_works guessed because of cross compilation])
 | 
						|
fi
 | 
						|
 | 
						|
if test "x$ac_cv_func_vfork_works" = xyes; then
 | 
						|
  AC_DEFINE(HAVE_WORKING_VFORK, 1, [Define to 1 if `vfork' works.])
 | 
						|
else
 | 
						|
  AC_DEFINE(vfork, fork, [Define as `fork' if `vfork' does not work.])
 | 
						|
fi
 | 
						|
if test "x$ac_cv_func_fork_works" = xyes; then
 | 
						|
  AC_DEFINE(HAVE_WORKING_FORK, 1, [Define to 1 if `fork' works.])
 | 
						|
  PBX_WORKING_FORK=1
 | 
						|
  AC_SUBST(PBX_WORKING_FORK)
 | 
						|
fi
 | 
						|
])# AST_FUNC_FORK
 | 
						|
 | 
						|
 | 
						|
# _AST_FUNC_FORK
 | 
						|
# -------------
 | 
						|
AC_DEFUN([_AST_FUNC_FORK],
 | 
						|
  [AC_CACHE_CHECK(for working fork, ac_cv_func_fork_works,
 | 
						|
    [AC_RUN_IFELSE(
 | 
						|
      [AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
 | 
						|
	[
 | 
						|
	  /* By Ruediger Kuhlmann. */
 | 
						|
	  return fork () < 0;
 | 
						|
	])],
 | 
						|
      [ac_cv_func_fork_works=yes],
 | 
						|
      [ac_cv_func_fork_works=no],
 | 
						|
      [ac_cv_func_fork_works=cross])])]
 | 
						|
)# _AST_FUNC_FORK
 |