summaryrefslogtreecommitdiff
path: root/indra/llcrashlogger
diff options
context:
space:
mode:
authorAndrey Lihatskiy <alihatskiy@productengine.com>2020-07-20 22:24:10 +0300
committerAndrey Lihatskiy <alihatskiy@productengine.com>2020-07-20 22:24:10 +0300
commit7bbf3f5f7f37330281d36ca087fe7091c2492ebe (patch)
treec926a151f950e24207c75e9764280b58daccf017 /indra/llcrashlogger
parentbbee0658c3a7837e47d171dacfda55cac803e3ed (diff)
parent72423372d6cd7f763a5567ad75752fa4e7131d60 (diff)
Merge branch 'master' into DRTVWR-501-maint
# Conflicts: # autobuild.xml # indra/newview/llimprocessing.cpp
Diffstat (limited to 'indra/llcrashlogger')
-rw-r--r--indra/llcrashlogger/llcrashlogger.cpp8
-rw-r--r--indra/llcrashlogger/llcrashlogger.h7
2 files changed, 10 insertions, 5 deletions
diff --git a/indra/llcrashlogger/llcrashlogger.cpp b/indra/llcrashlogger/llcrashlogger.cpp
index 5e74715500..62fcdaf545 100644
--- a/indra/llcrashlogger/llcrashlogger.cpp
+++ b/indra/llcrashlogger/llcrashlogger.cpp
@@ -642,7 +642,7 @@ void LLCrashLogger::init_curl()
}
CRYPTO_set_locking_callback(ssl_locking_callback);
- CRYPTO_set_id_callback(ssl_thread_id_callback);
+ CRYPTO_THREADID_set_callback(ssl_thread_id_callback);
}
}
@@ -658,12 +658,12 @@ void LLCrashLogger::term_curl()
}
-unsigned long LLCrashLogger::ssl_thread_id_callback(void)
+void LLCrashLogger::ssl_thread_id_callback(CRYPTO_THREADID* pthreadid)
{
#if LL_WINDOWS
- return (unsigned long)GetCurrentThread();
+ CRYPTO_THREADID_set_pointer(pthreadid, GetCurrentThread());
#else
- return (unsigned long)pthread_self();
+ CRYPTO_THREADID_set_pointer(pthreadid, reinterpret_cast<void*>(pthread_self()));
#endif
}
diff --git a/indra/llcrashlogger/llcrashlogger.h b/indra/llcrashlogger/llcrashlogger.h
index 56e26c23ba..e3e8110a47 100644
--- a/indra/llcrashlogger/llcrashlogger.h
+++ b/indra/llcrashlogger/llcrashlogger.h
@@ -36,6 +36,11 @@
#include "llcrashlock.h"
#include "_mutex.h"
+// We shouldn't have to know the exact declaration of CRYPTO_THREADID, but VS
+// 2017 complains if we forward-declare it as simply 'struct CRYPTO_THREADID'.
+struct crypto_threadid_st;
+typedef crypto_threadid_st CRYPTO_THREADID;
+
// Crash reporter behavior
const S32 CRASH_BEHAVIOR_ASK = 0;
const S32 CRASH_BEHAVIOR_ALWAYS_SEND = 1;
@@ -68,7 +73,7 @@ public:
protected:
static void init_curl();
static void term_curl();
- static unsigned long ssl_thread_id_callback(void);
+ static void ssl_thread_id_callback(CRYPTO_THREADID*);
static void ssl_locking_callback(int mode, int type, const char * file, int line);
S32 mCrashBehavior;