[#absl-FailureSignalHandlerOptions]
= xref:absl.adoc[absl]::FailureSignalHandlerOptions
:relfileprefix: ../
:mrdocs:

Configuration options for `absl&colon;&colon;InstallFailureSignalHandler()`&period;

== Synopsis

Declared in `&lt;absl&sol;debugging&sol;failure&lowbar;signal&lowbar;handler&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
struct FailureSignalHandlerOptions;
----

== Data Members

[cols="1,4"]
|===
| Name| Description
| xref:absl/FailureSignalHandlerOptions/alarm_on_failure_secs.adoc[`alarm&lowbar;on&lowbar;failure&lowbar;secs`] 
| If positive, indicates the number of seconds after which the failure signal handler is invoked to abort the program&period; Setting such an alarm is useful in cases where the failure signal handler itself may become hung or deadlocked&period;
| xref:absl/FailureSignalHandlerOptions/call_previous_handler.adoc[`call&lowbar;previous&lowbar;handler`] 
| If true, call the previously registered signal handler for the signal that was received (if one was registered) after the existing signal handler runs&period; This mechanism can be used to chain signal handlers together&period;
| xref:absl/FailureSignalHandlerOptions/symbolize_stacktrace.adoc[`symbolize&lowbar;stacktrace`] 
| If true, try to symbolize the stacktrace emitted on failure, provided that you have initialized a symbolizer for that purpose&period; (See symbolize&period;h for more information&period;)
| xref:absl/FailureSignalHandlerOptions/use_alternate_stack.adoc[`use&lowbar;alternate&lowbar;stack`] 
| If true, try to run signal handlers on an alternate stack (if supported on the given platform)&period; An alternate stack is useful for program crashes due to a stack overflow&semi; by running on a alternate stack, the signal handler may run even when normal stack space has been exhausted&period; The downside of using an alternate stack is that extra memory for the alternate stack needs to be pre&hyphen;allocated&period;
| xref:absl/FailureSignalHandlerOptions/writerfn.adoc[`writerfn`] 
| If non&hyphen;null, indicates a pointer to a callback function that will be called upon failure, with a string argument containing failure data&period; This function may be used as a hook to write failure data to a secondary location, such as a log file&period; This function will also be called with null data, as a hint to flush any buffered data before the program may be terminated&period; Consider flushing any buffered data in all calls to this function&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:absl/InstallFailureSignalHandler.adoc[`InstallFailureSignalHandler`]
| Installs a signal handler for the common failure signals `SIGSEGV`, `SIGILL`, `SIGFPE`, `SIGABRT`, `SIGTERM`, `SIGBUG`, and `SIGTRAP` (provided they exist on the given platform)&period; The failure signal handler dumps program failure data useful for debugging in an unspecified format to stderr&period; This data may include the program counter, a stacktrace, and register information on some systems&semi; do not rely on an exact format for the output, as it is subject to change&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
