vfprintf(stderr, format, args);
va_end(args);
fprintf(stderr, "\n");
- isc__tls_setfatalmode();
_exit(EXIT_FAILURE);
}
vfprintf(stderr, format, args);
va_end(args);
fprintf(stderr, "\n");
- isc__tls_setfatalmode();
_exit(EXIT_FAILURE);
}
vfprintf(stderr, format, args);
va_end(args);
fprintf(stderr, "\n");
- isc__tls_setfatalmode();
if (fatalexit == 0 && exitcode != 0) {
fatalexit = exitcode;
} else if (fatalexit == 0) {
if (fatalcallback != NULL) {
(*fatalcallback)();
}
- isc__tls_setfatalmode();
-
- /* Make sure that various atexit() calls are skipped */
_exit(EXIT_FAILURE);
}
NAMED_LOGMODULE_SERVER, ISC_LOG_CRITICAL,
"exiting (due to fatal error)");
named_os_shutdown();
- isc__tls_setfatalmode();
_exit(EXIT_FAILURE);
}
vfprintf(stderr, format, args);
va_end(args);
fprintf(stderr, "\n");
- isc__tls_setfatalmode();
_exit(EXIT_FAILURE);
}
vfprintf(stderr, format, args);
va_end(args);
fprintf(stderr, "\n");
- isc__tls_setfatalmode();
_exit(EXIT_FAILURE);
}
vfprintf(stderr, format, args);
va_end(args);
fprintf(stderr, "\n");
- isc__tls_setfatalmode();
_exit(EXIT_FAILURE);
}
vfprintf(stderr, format, args);
va_end(args);
fprintf(stderr, "\n");
- isc__tls_setfatalmode();
_exit(EXIT_FAILURE);
}
void
isc__tls_setdestroycheck(bool check);
-
-void
-isc__tls_setfatalmode(void);
}
#endif
-#ifdef ISC_TEST_OPENSSL_MEMORY_LEAKS
-static atomic_bool handle_fatal = false;
-#else
-static atomic_bool handle_fatal = true;
-#endif
-
#if !defined(LIBRESSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x30000000L
/*
* This was crippled with LibreSSL, so just skip it:
if (ptr == NULL) {
return;
}
- if (!atomic_load(&handle_fatal) || isc__tls_mctx != NULL) {
+ if (isc__tls_mctx != NULL) {
isc__mem_free(isc__tls_mctx, ptr, 0, file, (unsigned int)line);
}
}
if (ptr == NULL) {
return;
}
- if (!atomic_load(&handle_fatal) || isc__tls_mctx != NULL) {
+ if (isc__tls_mctx != NULL) {
isc__mem_free(isc__tls_mctx, ptr, 0);
}
}
RUNTIME_CHECK(
SSL_CTX_set_session_id_context(ctx, session_id_ctx, len) == 1);
}
-
-void
-isc__tls_setfatalmode(void) {
- atomic_store(&handle_fatal, true);
-}