diff options
author | Dana Robinson <derobins@hdfgroup.org> | 2014-06-13 16:10:25 (GMT) |
---|---|---|
committer | Dana Robinson <derobins@hdfgroup.org> | 2014-06-13 16:10:25 (GMT) |
commit | 1ef0d8e245a965666a0cb8bc6ecef55ccb8184c3 (patch) | |
tree | e27e2f39abcf411bec0b41eaedd78bc76979875b | |
parent | 79c3535fe30c93a84ea5372279bff1778a85e64d (diff) | |
download | hdf5-1ef0d8e245a965666a0cb8bc6ecef55ccb8184c3.zip hdf5-1ef0d8e245a965666a0cb8bc6ecef55ccb8184c3.tar.gz hdf5-1ef0d8e245a965666a0cb8bc6ecef55ccb8184c3.tar.bz2 |
[svn-r25276] Merge of r25274 from trunk.
Eliminates DllMain from static builds (an oversight in the implementation). Fixes HDFFV-8837.
Tested on 64-bit Windows 7 with Visual Studio 2012.
-rw-r--r-- | release_docs/RELEASE.txt | 10 | ||||
-rw-r--r-- | src/H5.c | 5 |
2 files changed, 12 insertions, 3 deletions
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 046e6a1..4e38354 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -115,7 +115,15 @@ Bug Fixes since HDF5-1.8.13 Library ------- - - + - Removal of DllMain() from static Windows builds. + A DllMain() function was added in HDF5 1.8.13 in order to handle win32 thread + cleanup. The preprocessor #ifdefs around the DllMain function allowed it + to be compiled when the static library is built, which is incorrect behavior + and can cause linkage problems in clients. + The fix was to change the preprocessor #ifdefs to exclude compiling DllMain() + in static builds. Our DllMain function is now only compiled when the shared, + thread-safe library is built on Windows. + (DER - 2014/06/13 HDFFV-8837) Parallel Library ---------------- @@ -840,7 +840,8 @@ H5free_memory(void *mem) } /* end H5free_memory() */ -#ifdef H5_HAVE_WIN32_API +#if defined(H5_HAVE_THREADSAFE) && defined(H5_BUILT_AS_DYNAMIC_LIB) \ + && defined(H5_HAVE_WIN32_API) && defined(H5_HAVE_WIN_THREADS) /*------------------------------------------------------------------------- * Function: DllMain * @@ -895,4 +896,4 @@ DllMain(_In_ HINSTANCE hinstDLL, _In_ DWORD fdwReason, _In_ LPVOID lpvReserved) return fOkay; } -#endif /* H5_HAVE_WIN32_API */ +#endif /* H5_HAVE_WIN32_API && H5_BUILT_AS_DYNAMIC_LIB && H5_HAVE_WIN_THREADS && H5_HAVE_THREADSAFE*/ |