summaryrefslogtreecommitdiff
path: root/ACE/ace/Log_Msg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/ace/Log_Msg.cpp')
-rw-r--r--ACE/ace/Log_Msg.cpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/ACE/ace/Log_Msg.cpp b/ACE/ace/Log_Msg.cpp
index 60a034399d2..aa2e354b068 100644
--- a/ACE/ace/Log_Msg.cpp
+++ b/ACE/ace/Log_Msg.cpp
@@ -1790,16 +1790,27 @@ ACE_Log_Msg::log (const ACE_TCHAR *format_str,
ACE_OS::sprintf (bp,
format,
static_cast <unsigned> (ACE_Thread::self ()));
-#elif defined ACE_USES_WCHAR
+#else
+
+# ifdef ACE_HAS_GETTID
+# define ACE_LOG_MSG_GET_THREAD_ID ACE_OS::thr_gettid
+# define ACE_LOG_MSG_GET_THREAD_ID_BUFFER_SIZE 8
+# else
+# define ACE_LOG_MSG_GET_THREAD_ID ACE_OS::thr_id
+# define ACE_LOG_MSG_GET_THREAD_ID_BUFFER_SIZE 32
+# endif
+
+# if defined ACE_USES_WCHAR
{
- char tid_buf[32] = {};
- ACE_OS::thr_id (tid_buf, sizeof tid_buf);
+ char tid_buf[ACE_LOG_MSG_GET_THREAD_ID_BUFFER_SIZE] = {};
+ ACE_LOG_MSG_GET_THREAD_ID (tid_buf, sizeof tid_buf);
this_len = ACE_OS::strlen (tid_buf);
ACE_OS::strncpy (bp, ACE_TEXT_CHAR_TO_TCHAR (tid_buf),
bspace);
}
-#else
- this_len = ACE_OS::thr_id (bp, bspace);
+# else
+ this_len = ACE_LOG_MSG_GET_THREAD_ID (bp, bspace);
+# endif /* ACE_USES_WCHAR */
#endif /* ACE_WIN32 */
ACE_UPDATE_COUNT (bspace, this_len);
break;