HEX
Server: Apache/2.4.41 (FreeBSD) OpenSSL/1.0.2s mod_fcgid/2.3.9
System: FreeBSD salazo 12.0-RELEASE-p1303-ZFS hostBSD 12.0-RELEASE-p1303-ZFS DMR amd64
User: admin (1000)
PHP: 7.4.3
Disabled: NONE
Upload Files
File: /usr/ports/misc/adios2/files/patch-source_adios2_toolkit_profiling_taustubs_tautimer.cpp
--- source/adios2/toolkit/profiling/taustubs/tautimer.cpp.orig	2019-07-28 09:15:02 UTC
+++ source/adios2/toolkit/profiling/taustubs/tautimer.cpp
@@ -21,6 +21,9 @@
 #include <sys/syscall.h>
 #include <sys/types.h>
 #include <thread>
+#if defined(__FreeBSD__) || defined(__DragonFly__)
+#include <pthread_np.h>
+#endif
 
 /* Clean assertion handling */
 inline void _tautimer_assert(const char *expression, const char *file, int line)
@@ -204,6 +207,8 @@ TauTimer::TauTimer(void) : initialized(false)
 #if defined(__APPLE__) && defined(__MACH__)
     // why should Apple support gettid? BE DIFFERENT, BABY!
     pthread_threadid_np(NULL, &mytid);
+#elif defined(__FreeBSD__) || defined(__DragonFly__)
+    mytid = pthread_getthreadid_np();
 #else
     mytid = (uint64_t)syscall(__NR_gettid);
 #endif
@@ -232,6 +237,8 @@ inline void TauTimer::_RegisterThread(void)
 #if defined(__APPLE__) && defined(__MACH__)
         // why should Apple support gettid? BE DIFFERENT, BABY!
         pthread_threadid_np(NULL, &mytid);
+#elif defined(__FreeBSD__) || defined(__DragonFly__)
+        mytid = pthread_getthreadid_np();
 #else
         mytid = (uint64_t)syscall(__NR_gettid);
 #endif