mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-05 09:05:40 +00:00
The OpenSSL library provides a way to replace the default allocator with user supplied allocator (malloc, realloc, and free). Create a memory context specifically for OpenSSL to allow tracking the memory usage that has originated from within OpenSSL. This will provide a separate memory context for OpenSSL to track the allocations and when shutting down the application it will check that all OpenSSL allocations were returned to the allocator.
62 lines
1.3 KiB
C
62 lines
1.3 KiB
C
/*
|
|
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
|
*
|
|
* SPDX-License-Identifier: MPL-2.0
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
|
*
|
|
* See the COPYRIGHT file distributed with this work for additional
|
|
* information regarding copyright ownership.
|
|
*/
|
|
|
|
/*! \file */
|
|
|
|
#include <isc/bind9.h>
|
|
#include <isc/mem.h>
|
|
#include <isc/os.h>
|
|
#include <isc/tls.h>
|
|
#include <isc/util.h>
|
|
#include <isc/uv.h>
|
|
|
|
#include "config.h"
|
|
#include "mem_p.h"
|
|
#include "mutex_p.h"
|
|
#include "os_p.h"
|
|
#include "trampoline_p.h"
|
|
|
|
#ifndef ISC_CONSTRUCTOR
|
|
#error Either __attribute__((constructor|destructor))__ or DllMain support needed to compile BIND 9.
|
|
#endif
|
|
|
|
/***
|
|
*** Functions
|
|
***/
|
|
|
|
void
|
|
isc__initialize(void) ISC_CONSTRUCTOR;
|
|
void
|
|
isc__shutdown(void) ISC_DESTRUCTOR;
|
|
|
|
void
|
|
isc__initialize(void) {
|
|
isc__os_initialize();
|
|
isc__mutex_initialize();
|
|
isc__mem_initialize();
|
|
isc__tls_initialize();
|
|
isc__trampoline_initialize();
|
|
isc__uv_initialize();
|
|
(void)isc_os_ncpus();
|
|
}
|
|
|
|
void
|
|
isc__shutdown(void) {
|
|
isc__uv_shutdown();
|
|
isc__trampoline_shutdown();
|
|
isc__tls_shutdown();
|
|
isc__mem_shutdown();
|
|
isc__mutex_shutdown();
|
|
isc__os_shutdown();
|
|
}
|