summaryrefslogtreecommitdiffstats
path: root/src/H5win32defs.h
diff options
context:
space:
mode:
authorScott Wegner <swegner@hdfgroup.org>2008-06-06 19:11:46 (GMT)
committerScott Wegner <swegner@hdfgroup.org>2008-06-06 19:11:46 (GMT)
commit259d1afce9bca2f7dfada3bd396e7f804bb3c1a6 (patch)
treeb2c754200c341f52256a3b3c45924bf38d3c3769 /src/H5win32defs.h
parentba9abd20069ec92af1b25ff1a5ea9b88d84462b8 (diff)
downloadhdf5-259d1afce9bca2f7dfada3bd396e7f804bb3c1a6.zip
hdf5-259d1afce9bca2f7dfada3bd396e7f804bb3c1a6.tar.gz
hdf5-259d1afce9bca2f7dfada3bd396e7f804bb3c1a6.tar.bz2
[svn-r15165] Purpose: Create new HDpthread_self and HDpthread_self_ulong macros
Description: On Windows, the pthread_self function cannot be used to print the returned thread ID for debugging. Instead, we need a separate function, GetCurrentThreadId. To eliminate some Windows ifdef's in the code, we create two new function macros which can be used by all platforms. It is conditionally defined in H5win32defs.h, and globally in H5private.h. Tested: VS2005 w/ pthreads on WinXP kagiso w/ pthreads
Diffstat (limited to 'src/H5win32defs.h')
-rw-r--r--src/H5win32defs.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/H5win32defs.h b/src/H5win32defs.h
index 484b73d..6ce8f77 100644
--- a/src/H5win32defs.h
+++ b/src/H5win32defs.h
@@ -52,5 +52,11 @@ typedef __int64 h5_stat_size_t;
#define HDvsnprintf(S,N,FMT,A) _vsnprintf(S,N,FMT,A)
#define HDwrite(F,M,Z) _write(F,M,Z)
+/* Non-POSIX functions */
+
+/* Don't use actual pthread_self on Windows because the return
+ * type cannot be cast as a ulong like other systems. */
+#define HDpthread_self_ulong() ((unsigned long)GetCurrentThreadId())
+
#endif /* _WIN32 */