1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-24 10:50:22 +03:00

util: Add --disable-fault-handling.

On some platforms you can not debug coredumps after the default signal handler
gets done dumping core.  This allows waf to have an option to disable our
default signal handler.
This commit is contained in:
Ira Cooper 2012-03-14 12:56:02 -04:00
parent 48c2f803e8
commit b990279304
5 changed files with 16 additions and 0 deletions

View File

@ -96,6 +96,7 @@ void fault_setup(void)
if (fault_state.disabled) {
return;
}
#if !defined(HAVE_DISABLE_FAULT_HANDLING)
#ifdef SIGSEGV
CatchSignal(SIGSEGV, sig_fault);
#endif
@ -105,6 +106,7 @@ void fault_setup(void)
#ifdef SIGABRT
CatchSignal(SIGABRT, sig_fault);
#endif
#endif
}
_PUBLIC_ const char *panic_action = NULL;

3
lib/util/wscript Normal file
View File

@ -0,0 +1,3 @@
def set_options(opt):
''' This is a bit strange, but disable is the flag, not enable. '''
opt.add_option('--disable-fault-handling', action='store_true', dest='disable_fault_handling', help=('disable the fault handlers'), default=False)

View File

@ -1,5 +1,8 @@
#!/usr/bin/env python
import Options
if Options.options.disable_fault_handling:
conf.DEFINE('HAVE_DISABLE_FAULT_HANDLING',1)
# backtrace could be in libexecinfo or in libc
conf.CHECK_FUNCS_IN('backtrace backtrace_symbols', 'execinfo', checklibc=True, headers='execinfo.h')

View File

@ -6799,6 +6799,7 @@ if test x"$enable_pthreadpool" = x"yes" -a x"$samba_cv_HAVE_PTHREAD" = x"yes"; t
fi
fi
#################################################
# Check to see if we should use the included iniparser
@ -6834,6 +6835,12 @@ AC_SUBST(BUILD_INIPARSER)
AC_SUBST(INIPARSERLIBS)
AC_SUBST(FLAGS1)
AC_ARG_ENABLE(fault-handler,[AS_HELP_STRING([--disable-fault-handler], [Disable the default handler])])
if test x"$enable_fault_handler" = x"no"; then
AC_DEFINE(HAVE_DISABLE_FAULT_HANDLER, 1, [Disable the default signal handler])
fi
###################################################
# Check for different/missing (set|get|end)netgrent prototypes
CFLAGS_SAVE=$CFLAGS

View File

@ -30,6 +30,7 @@ def set_options(opt):
opt.RECURSE('lib/uid_wrapper')
opt.RECURSE('pidl')
opt.RECURSE('source3')
opt.RECURSE('lib/util')
gr = opt.option_group('developer options')
gr.add_option('--enable-build-farm',