diff options
-rw-r--r-- | src/H5Eint.c | 8 | ||||
-rw-r--r-- | test/h5test.c | 4 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/H5Eint.c b/src/H5Eint.c index 66fba91..34290a4 100644 --- a/src/H5Eint.c +++ b/src/H5Eint.c @@ -276,7 +276,9 @@ H5E_walk1_cb(int n, H5E_error1_t *err_desc, void *client_data) } /* end block */ #elif defined(H5_HAVE_THREADSAFE) #ifdef _WIN32 - fprintf(stream, "some thread: no way to know the thread number from pthread on windows"); + /* use GetCurrentThreadId because pthread_self return cannot be cast */ + /* as an unsigned long on Windows */ + fprintf(stream, "thread %lu", (unsigned long)GetCurrentThreadId()); #else fprintf(stream, "thread %lu", (unsigned long)pthread_self()); #endif @@ -396,7 +398,9 @@ H5E_walk2_cb(unsigned n, const H5E_error2_t *err_desc, void *client_data) } /* end block */ #elif defined(H5_HAVE_THREADSAFE) #ifdef _WIN32 - fprintf(stream, "some thread: no way to know the thread number from pthread on windows"); + /* use GetCurrentThreadId because pthread_self return cannot be cast */ + /* as an unsigned long on Windows */ + fprintf(stream, "thread %lu", (unsigned long)GetCurrentThreadId()); #else fprintf(stream, "thread %lu", (unsigned long)pthread_self()); #endif diff --git a/test/h5test.c b/test/h5test.c index 6445ce6..e364d32 100644 --- a/test/h5test.c +++ b/test/h5test.c @@ -668,7 +668,9 @@ h5_show_hostname(void) } #elif defined(H5_HAVE_THREADSAFE) #ifdef _WIN32 - printf("some thread: no way to know the thread number from pthread on windows."); + /* use GetCurrentThreadId because pthread_self return cannot be cast */ + /* as an int on Windows */ + fprintf("thread %d.", (int)GetCurrentThreadId()); #else printf("thread %d.", (int)pthread_self()); #endif |