summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/cmake/H5pubconf.h.in3
-rw-r--r--config/cmake/HDF5Tests.c17
2 files changed, 20 insertions, 0 deletions
diff --git a/config/cmake/H5pubconf.h.in b/config/cmake/H5pubconf.h.in
index 0dbd1ec..cd05639 100644
--- a/config/cmake/H5pubconf.h.in
+++ b/config/cmake/H5pubconf.h.in
@@ -294,6 +294,9 @@
/* Define to 1 if you have the <pthread.h> header file. */
#cmakedefine H5_HAVE_PTHREAD_H @H5_HAVE_PTHREAD_H@
+/* Define to 1 if you have the 'InitOnceExecuteOnce' function. */
+#cmakedefine H5_HAVE_WIN_THREADS @H5_HAVE_WIN_THREADS@
+
/* Define to 1 if you have the `random' function. */
#cmakedefine H5_HAVE_RANDOM @H5_HAVE_RANDOM@
diff --git a/config/cmake/HDF5Tests.c b/config/cmake/HDF5Tests.c
index ea4a648..55e91a4 100644
--- a/config/cmake/HDF5Tests.c
+++ b/config/cmake/HDF5Tests.c
@@ -384,4 +384,21 @@ int main ()
#endif /* HAVE_GPFS */
+#ifdef HAVE_WIN_THREADS
+
+#include <windows.h>
+int main ()
+{
+ BOOL first_init_g=INIT_ONCE_STATIC_INIT;
+ BOOL CALLBACK win32_first_thread_init(PINIT_ONCE InitOnce, PVOID Parameter, PVOID *lpContext);
+ BOOL ret=FALSE;
+
+ ret=InitOnceExecuteOnce(&first_init_g, win32_first_thread_init, NULL, NULL);
+ exit(ret ? 0 : 1);
+}
+BOOL CALLBACK
+win32_first_thread_init(PINIT_ONCE InitOnce, PVOID Parameter, PVOID *lpContext)
+{return TRUE;}
+
+#endif /* HAVE_WIN_THREADS */