setupGracefulShutdown function
void
setupGracefulShutdown()
Implementation
void setupGracefulShutdown() {
if (_signalHandlersSetUp) return;
_signalHandlersSetUp = true;
// SIGINT handler.
ProcessSignal.sigint.watch().listen((_) {
_logDiag('info', 'shutdown_signal', {'signal': 'SIGINT'});
gracefulShutdown(exitCode: 0);
});
// SIGTERM handler.
ProcessSignal.sigterm.watch().listen((_) {
_logDiag('info', 'shutdown_signal', {'signal': 'SIGTERM'});
gracefulShutdown(exitCode: 143);
});
// SIGHUP handler (Unix only).
if (!Platform.isWindows) {
try {
ProcessSignal.sighup.watch().listen((_) {
_logDiag('info', 'shutdown_signal', {'signal': 'SIGHUP'});
gracefulShutdown(exitCode: 129);
});
} catch (_) {
// Signal not available on this platform.
}
}
}