]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Call isc__initialize()/isc__shutdown() from win32 DllMain
authorOndřej Surý <ondrej@isc.org>
Mon, 1 Mar 2021 13:21:05 +0000 (14:21 +0100)
committerOndřej Surý <ondrej@isc.org>
Tue, 2 Mar 2021 07:50:29 +0000 (08:50 +0100)
Call the libisc isc__initialize() constructor and isc__shutdown()
destructor from DllMain instead of having duplicate code between
those and DllMain() code.

(cherry picked from commit a50f5d0cf5cde9b5b48a0c89003f149ec51b6c7e)

lib/isc/lib_p.h [new file with mode: 0644]
lib/isc/win32/DLLMain.c
util/copyrights

diff --git a/lib/isc/lib_p.h b/lib/isc/lib_p.h
new file mode 100644 (file)
index 0000000..5c330be
--- /dev/null
@@ -0,0 +1,18 @@
+/*
+ * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
+ *
+ * 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.
+ */
+
+#pragma once
+
+void
+isc__initialize(void);
+
+void
+isc__shutdown(void);
index 187e84fbcd7a8f7f56ede195e86bdbb24c83ad1b..22a3e0512c559e863cf554a373bef47016542068 100644 (file)
@@ -16,9 +16,7 @@
 #include <isc/tls.h>
 #include <isc/util.h>
 
-#include "mem_p.h"
-#include "tls_p.h"
-#include "trampoline_p.h"
+#include "lib_p.h"
 
 /*
  * Called when we enter the DLL
@@ -31,9 +29,7 @@ __declspec(dllexport) BOOL WINAPI
         * LoadLibrary.
         */
        case DLL_PROCESS_ATTACH:
-               isc__mem_initialize();
-               isc__tls_initialize();
-               isc__trampoline_initialize();
+               isc__initialize();
                break;
 
        /*
@@ -41,9 +37,7 @@ __declspec(dllexport) BOOL WINAPI
         * termination or a call to FreeLibrary.
         */
        case DLL_PROCESS_DETACH:
-               isc__trampoline_shutdown();
-               isc__tls_shutdown();
-               isc__mem_shutdown();
+               isc__shutdown();
                break;
 
        case DLL_THREAD_ATTACH:
index 43c27b90da9f3b2ba7687202a80997524dd7f3c6..9a9d53e44cc5c8a5386f273502d9d66f1360417e 100644 (file)
 ./lib/isc/lex.c                                        C       1998,1999,2000,2001,2002,2003,2004,2005,2007,2013,2014,2015,2016,2017,2018,2019,2020,2021
 ./lib/isc/lfsr.c                               C       1999,2000,2001,2002,2004,2005,2007,2016,2018,2019,2020,2021
 ./lib/isc/lib.c                                        C       1999,2000,2001,2004,2005,2007,2009,2013,2014,2015,2016,2018,2019,2020,2021
+./lib/isc/lib_p.h                              C       2021
 ./lib/isc/log.c                                        C       1999,2000,2001,2002,2003,2004,2005,2006,2007,2009,2011,2012,2013,2014,2016,2017,2018,2019,2020,2021
 ./lib/isc/md.c                                 C       2018,2019,2020,2021
 ./lib/isc/mem.c                                        C       1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021