diff options
Diffstat (limited to 'src/pmdk/src/libpmem/libpmem_main.c')
-rw-r--r-- | src/pmdk/src/libpmem/libpmem_main.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/pmdk/src/libpmem/libpmem_main.c b/src/pmdk/src/libpmem/libpmem_main.c new file mode 100644 index 000000000..8978229c9 --- /dev/null +++ b/src/pmdk/src/libpmem/libpmem_main.c @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* Copyright 2015-2018, Intel Corporation */ + +/* + * libpmem_main.c -- entry point for libpmem.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. + */ + +#include "win_mmap.h" + +void libpmem_init(void); +void libpmem_fini(void); + +int APIENTRY +DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) +{ + switch (dwReason) { + case DLL_PROCESS_ATTACH: + libpmem_init(); + win_mmap_init(); + break; + + case DLL_THREAD_ATTACH: + case DLL_THREAD_DETACH: + break; + + case DLL_PROCESS_DETACH: + win_mmap_fini(); + libpmem_fini(); + break; + } + return TRUE; +} |