summaryrefslogtreecommitdiffstats
path: root/src/pmdk/src/libpmemblk/libpmemblk_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pmdk/src/libpmemblk/libpmemblk_main.c')
-rw-r--r--src/pmdk/src/libpmemblk/libpmemblk_main.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/pmdk/src/libpmemblk/libpmemblk_main.c b/src/pmdk/src/libpmemblk/libpmemblk_main.c
new file mode 100644
index 000000000..28c547d2e
--- /dev/null
+++ b/src/pmdk/src/libpmemblk/libpmemblk_main.c
@@ -0,0 +1,32 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/* Copyright 2015-2017, Intel Corporation */
+
+/*
+ * libpmemblk_main.c -- entry point for libpmemblk.dll
+ *
+ * XXX - This is a placeholder. All the library initialization/cleanup
+ * that is done in library ctors/dtors, as well as TLS initialization
+ * should be moved here.
+ */
+
+void libpmemblk_init(void);
+void libpmemblk_fini(void);
+
+int APIENTRY
+DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
+{
+ switch (dwReason) {
+ case DLL_PROCESS_ATTACH:
+ libpmemblk_init();
+ break;
+
+ case DLL_THREAD_ATTACH:
+ case DLL_THREAD_DETACH:
+ break;
+
+ case DLL_PROCESS_DETACH:
+ libpmemblk_fini();
+ break;
+ }
+ return TRUE;
+}