]> 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>
Mon, 1 Mar 2021 13:24:57 +0000 (14:24 +0100)
Call the libisc isc__initialize() constructor and isc__shutdown()
destructor from DllMain instead of having duplicate code between
those and DllMain() code.

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

index 79f71c1b856cc2fdefc63f74ea14c2a3ffc004b3..71712754c180457214c2c57ed019305f9fb30439 100644 (file)
@@ -222,6 +222,7 @@ libisc_la_SOURCES =         \
        pthreads/thread.c       \
        entropy_private.h       \
        fsaccess_common_p.h     \
+       lib_p.h                 \
        mem_p.h                 \
        task_p.h                \
        tls_p.h
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 89617bf07f428cc850dbc6e035aa2ddef67f0c83..ac7cb8e8d09ccb90026a514530c462545f335b0a 100644 (file)
 ./lib/isc/iterated_hash.c                      C       2006,2008,2009,2016,2018,2019,2020,2021
 ./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/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