summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/llcommon/CMakeLists.txt2
-rw-r--r--indra/llcommon/llapr.cpp19
-rw-r--r--indra/llcommon/llapr.h5
-rw-r--r--indra/llcommon/llmutex.cpp11
-rw-r--r--indra/llcommon/lltrace.cpp17
-rw-r--r--indra/llcommon/llwin32headers.h4
-rw-r--r--indra/llcommon/llwin32headerslean.h4
-rw-r--r--indra/llcorehttp/_refcounted.h4
-rw-r--r--indra/llmessage/llproxy.cpp7
-rw-r--r--indra/newview/llfasttimerview.cpp8
-rw-r--r--indra/newview/llfloaterjoystick.cpp22
-rw-r--r--indra/newview/llviewerassetstats.cpp287
-rw-r--r--indra/newview/llvosky.cpp2
-rw-r--r--indra/test/io.cpp5
-rw-r--r--indra/test/llhttpdate_tut.cpp7
-rw-r--r--indra/test/lliohttpserver_tut.cpp5
-rw-r--r--indra/test/test.cpp4
-rw-r--r--indra/test_apps/llplugintest/llmediaplugintest.cpp10
18 files changed, 258 insertions, 165 deletions
diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt
index 28677b036d..7ed1671ca8 100644
--- a/indra/llcommon/CMakeLists.txt
+++ b/indra/llcommon/CMakeLists.txt
@@ -257,6 +257,8 @@ set(llcommon_HEADER_FILES
lluuidhashmap.h
llversionserver.h
llversionviewer.h
+ llwin32headers.h
+ llwin32headerslean.h
llworkerthread.h
ll_template_cast.h
metaclass.h
diff --git a/indra/llcommon/llapr.cpp b/indra/llcommon/llapr.cpp
index 8a87911315..0556fadb26 100644
--- a/indra/llcommon/llapr.cpp
+++ b/indra/llcommon/llapr.cpp
@@ -38,12 +38,15 @@ apr_thread_mutex_t *gCallStacksLogMutexp = NULL;
const S32 FULL_VOLATILE_APR_POOL = 1024 ; //number of references to LLVolatileAPRPool
+bool gAPRInitialized = false;
+
void ll_init_apr()
{
+ // Initialize APR and create the global pool
+ apr_initialize();
+
if (!gAPRPoolp)
{
- // Initialize APR and create the global pool
- apr_initialize();
apr_pool_create(&gAPRPoolp, NULL);
// Initialize the logging mutex
@@ -57,11 +60,19 @@ void ll_init_apr()
}
LLThreadLocalPointerBase::initAllThreadLocalStorage();
+ gAPRInitialized = true;
}
-void ll_cleanup_apr(bool destroy_pools)
+bool ll_apr_is_initialized()
+{
+ return gAPRInitialized;
+}
+
+void ll_cleanup_apr()
{
+ gAPRInitialized = false;
+
LL_INFOS("APR") << "Cleaning up APR" << LL_ENDL;
if (gLogMutexp)
@@ -83,7 +94,7 @@ void ll_cleanup_apr(bool destroy_pools)
LLThreadLocalPointerBase::destroyAllThreadLocalStorage();
- if (gAPRPoolp && destroy_pools)
+ if (gAPRPoolp)
{
apr_pool_destroy(gAPRPoolp);
gAPRPoolp = NULL;
diff --git a/indra/llcommon/llapr.h b/indra/llcommon/llapr.h
index 424ddc6505..3b65c0dc34 100644
--- a/indra/llcommon/llapr.h
+++ b/indra/llcommon/llapr.h
@@ -70,7 +70,10 @@ void LL_COMMON_API ll_init_apr();
/**
* @brief Cleanup those common apr constructs.
*/
-void LL_COMMON_API ll_cleanup_apr(bool destroy_pools = true);
+void LL_COMMON_API ll_cleanup_apr();
+
+bool LL_COMMON_API ll_apr_is_initialized();
+
//
//LL apr_pool
diff --git a/indra/llcommon/llmutex.cpp b/indra/llcommon/llmutex.cpp
index b685bb4d60..ad0287c6d5 100644
--- a/indra/llcommon/llmutex.cpp
+++ b/indra/llcommon/llmutex.cpp
@@ -56,12 +56,15 @@ LLMutex::~LLMutex()
//bad assertion, the subclass LLSignal might be "locked", and that's OK
//llassert_always(!isLocked()); // better not be locked!
#endif
- apr_thread_mutex_destroy(mAPRMutexp);
- mAPRMutexp = NULL;
- if (mIsLocalPool)
+ if (ll_apr_is_initialized())
{
- apr_pool_destroy(mAPRPoolp);
+ apr_thread_mutex_destroy(mAPRMutexp);
+ if (mIsLocalPool)
+ {
+ apr_pool_destroy(mAPRPoolp);
+ }
}
+ mAPRMutexp = NULL;
}
diff --git a/indra/llcommon/lltrace.cpp b/indra/llcommon/lltrace.cpp
index 9cadd70dd8..463048008f 100644
--- a/indra/llcommon/lltrace.cpp
+++ b/indra/llcommon/lltrace.cpp
@@ -30,7 +30,7 @@
#include "lltracethreadrecorder.h"
#include "llfasttimer.h"
-static bool sInitialized;
+static S32 sInitializationCount = 0;
namespace LLTrace
{
@@ -39,19 +39,24 @@ static MasterThreadRecorder* gMasterThreadRecorder = NULL;
void init()
{
- gMasterThreadRecorder = new MasterThreadRecorder();
- sInitialized = true;
+ if (sInitializationCount++ == 0)
+ {
+ gMasterThreadRecorder = new MasterThreadRecorder();
+ }
}
bool isInitialized()
{
- return sInitialized;
+ return sInitializationCount > 0;
}
void cleanup()
{
- delete gMasterThreadRecorder;
- gMasterThreadRecorder = NULL;
+ if (--sInitializationCount == 0)
+ {
+ delete gMasterThreadRecorder;
+ gMasterThreadRecorder = NULL;
+ }
}
MasterThreadRecorder& getMasterThreadRecorder()
diff --git a/indra/llcommon/llwin32headers.h b/indra/llcommon/llwin32headers.h
index 9c89b6b280..8534ed6298 100644
--- a/indra/llcommon/llwin32headers.h
+++ b/indra/llcommon/llwin32headers.h
@@ -28,9 +28,13 @@
#define LL_LLWINDOWS_H
#ifdef LL_WINDOWS
+#ifndef NOMINMAX
+#define NOMINMAX
+#endif
#undef WIN32_LEAN_AND_MEAN
#include <winsock2.h>
#include <windows.h>
+#undef NOMINMAX
#endif
#endif
diff --git a/indra/llcommon/llwin32headerslean.h b/indra/llcommon/llwin32headerslean.h
index d3fb90d4b1..f7e71301a8 100644
--- a/indra/llcommon/llwin32headerslean.h
+++ b/indra/llcommon/llwin32headerslean.h
@@ -28,9 +28,13 @@
#define LL_LLWINDOWS_H
#ifdef LL_WINDOWS
+#ifndef NOMINMAX
+#define NOMINMAX
+#endif
#define WIN32_LEAN_AND_MEAN
#include <winsock2.h>
#include <windows.h>
+#undef NOMINMAX
#endif
#endif
diff --git a/indra/llcorehttp/_refcounted.h b/indra/llcorehttp/_refcounted.h
index 21a916b13b..402e725152 100644
--- a/indra/llcorehttp/_refcounted.h
+++ b/indra/llcorehttp/_refcounted.h
@@ -72,7 +72,7 @@ private:
inline void RefCounted::addRef() const
{
- S32 count(mRefCount++);
+ S32 count(++mRefCount);
llassert_always(count >= 0);
}
@@ -82,7 +82,7 @@ inline void RefCounted::release() const
S32 count(mRefCount);
llassert_always(count != NOT_REF_COUNTED);
llassert_always(count > 0);
- count = mRefCount--;
+ count = --mRefCount;
// clean ourselves up if that was the last reference
if (0 == count)
diff --git a/indra/llmessage/llproxy.cpp b/indra/llmessage/llproxy.cpp
index aa474fabd2..9b8d19cc3e 100644
--- a/indra/llmessage/llproxy.cpp
+++ b/indra/llmessage/llproxy.cpp
@@ -61,8 +61,11 @@ LLProxy::LLProxy():
LLProxy::~LLProxy()
{
- stopSOCKSProxy();
- disableHTTPProxy();
+ if (ll_apr_is_initialized())
+ {
+ stopSOCKSProxy();
+ disableHTTPProxy();
+ }
}
/**
diff --git a/indra/newview/llfasttimerview.cpp b/indra/newview/llfasttimerview.cpp
index 56e5710726..32ed662548 100644
--- a/indra/newview/llfasttimerview.cpp
+++ b/indra/newview/llfasttimerview.cpp
@@ -514,7 +514,7 @@ void LLFastTimerView::draw()
else
{
ms = LLUnit<LLUnits::Seconds, F64>(frame_recording.getPeriodMean(*idp));
- calls = frame_recording.getPeriodMean(idp->callCount());
+ calls = (S32)frame_recording.getPeriodMean((F32)idp->callCount());
}
if (mDisplayCalls)
@@ -728,7 +728,7 @@ void LLFastTimerView::draw()
}
else if (prev_id && get_depth(prev_id) < get_depth(idp))
{
- U64 sublevelticks = 0;
+ F64 sublevelticks = 0;
for (TimeBlock::child_const_iter it = prev_id->beginChildren();
it != prev_id->endChildren();
@@ -934,7 +934,7 @@ void LLFastTimerView::draw()
max_time = llmax(LLUnit<LLUnits::Microseconds, F32>(1), LLUnit<LLUnits::Microseconds, F32>(cur_max));
}
- max_calls = lerp((F32)max_calls, (F32) cur_max_calls, LLCriticalDamp::getInterpolant(0.1f));
+ max_calls = llround(lerp((F32)max_calls, (F32) cur_max_calls, LLCriticalDamp::getInterpolant(0.1f)));
if (llabs((S32)(max_calls - cur_max_calls)) <= 1)
{
max_calls = cur_max_calls;
@@ -1011,7 +1011,7 @@ void LLFastTimerView::draw()
}
LLUnit<LLUnits::Milliseconds, F32> ms = ticks;
- timer_stat += llformat("%.1f",ms);
+ timer_stat += llformat("%.1f",ms.value());
if (idp->getCollapsed())
{
diff --git a/indra/newview/llfloaterjoystick.cpp b/indra/newview/llfloaterjoystick.cpp
index e2813a8272..ab7fc1cf3f 100644
--- a/indra/newview/llfloaterjoystick.cpp
+++ b/indra/newview/llfloaterjoystick.cpp
@@ -42,14 +42,20 @@
#include "llviewerjoystick.h"
#include "llcheckboxctrl.h"
-static LLTrace::Measurement<> sJoystickAxes[6] =
+static LLTrace::Measurement<> sJoystickAxis1("Joystick axis 1"),
+ sJoystickAxis2("Joystick axis 2"),
+ sJoystickAxis3("Joystick axis 3"),
+ sJoystickAxis4("Joystick axis 4"),
+ sJoystickAxis5("Joystick axis 5"),
+ sJoystickAxis6("Joystick axis 6");
+static LLTrace::Measurement<>* sJoystickAxes[6] =
{
- LLTrace::Measurement<>("Joystick axis 1"),
- LLTrace::Measurement<>("Joystick axis 2"),
- LLTrace::Measurement<>("Joystick axis 3"),
- LLTrace::Measurement<>("Joystick axis 4"),
- LLTrace::Measurement<>("Joystick axis 5"),
- LLTrace::Measurement<>("Joystick axis 6")
+ &sJoystickAxis1,
+ &sJoystickAxis2,
+ &sJoystickAxis3,
+ &sJoystickAxis4,
+ &sJoystickAxis5,
+ &sJoystickAxis6
};
LLFloaterJoystick::LLFloaterJoystick(const LLSD& data)
@@ -71,7 +77,7 @@ void LLFloaterJoystick::draw()
for (U32 i = 0; i < 6; i++)
{
F32 value = joystick->getJoystickAxis(i);
- sJoystickAxes[i].sample(value * gFrameIntervalSeconds.value());
+ sJoystickAxes[i]->sample(value * gFrameIntervalSeconds.value());
if (mAxisStatsBar[i])
{
F32 minbar, maxbar;
diff --git a/indra/newview/llviewerassetstats.cpp b/indra/newview/llviewerassetstats.cpp
index 58936c3220..b4da9521f4 100644
--- a/indra/newview/llviewerassetstats.cpp
+++ b/indra/newview/llviewerassetstats.cpp
@@ -176,55 +176,90 @@ namespace LLViewerAssetStatsFF
}
return ret;
}
- static LLTrace::Count<> sEnqueued[EVACCount] = {LLTrace::Count<>("enqueuedassetrequeststemptexturehttp",
- "Number of temporary texture asset http requests enqueued"),
- LLTrace::Count<>("enqueuedassetrequeststemptextureudp",
- "Number of temporary texture asset udp requests enqueued"),
- LLTrace::Count<>("enqueuedassetrequestsnontemptexturehttp",
- "Number of texture asset http requests enqueued"),
- LLTrace::Count<>("enqueuedassetrequestsnontemptextureudp",
- "Number of texture asset udp requests enqueued"),
- LLTrace::Count<>("enqueuedassetrequestswearableudp",
- "Number of wearable asset requests enqueued"),
- LLTrace::Count<>("enqueuedassetrequestssoundudp",
- "Number of sound asset requests enqueued"),
- LLTrace::Count<>("enqueuedassetrequestsgestureudp",
- "Number of gesture asset requests enqueued"),
- LLTrace::Count<>("enqueuedassetrequestsother",
- "Number of other asset requests enqueued")};
-
- static LLTrace::Count<> sDequeued[EVACCount] = {LLTrace::Count<>("dequeuedassetrequeststemptexturehttp",
- "Number of temporary texture asset http requests dequeued"),
- LLTrace::Count<>("dequeuedassetrequeststemptextureudp",
- "Number of temporary texture asset udp requests dequeued"),
- LLTrace::Count<>("dequeuedassetrequestsnontemptexturehttp",
- "Number of texture asset http requests dequeued"),
- LLTrace::Count<>("dequeuedassetrequestsnontemptextureudp",
- "Number of texture asset udp requests dequeued"),
- LLTrace::Count<>("dequeuedassetrequestswearableudp",
- "Number of wearable asset requests dequeued"),
- LLTrace::Count<>("dequeuedassetrequestssoundudp",
- "Number of sound asset requests dequeued"),
- LLTrace::Count<>("dequeuedassetrequestsgestureudp",
- "Number of gesture asset requests dequeued"),
- LLTrace::Count<>("dequeuedassetrequestsother",
- "Number of other asset requests dequeued")};
- static LLTrace::Measurement<LLTrace::Seconds> sResponse[EVACCount] = {LLTrace::Measurement<LLTrace::Seconds>("assetresponsetimestemptexturehttp",
- "Time spent responding to temporary texture asset http requests"),
- LLTrace::Measurement<LLTrace::Seconds>("assetresponsetimestemptextureudp",
- "Time spent responding to temporary texture asset udp requests"),
- LLTrace::Measurement<LLTrace::Seconds>("assetresponsetimesnontemptexturehttp",
- "Time spent responding to texture asset http requests"),
- LLTrace::Measurement<LLTrace::Seconds>("assetresponsetimesnontemptextureudp",
- "Time spent responding to texture asset udp requests"),
- LLTrace::Measurement<LLTrace::Seconds>("assetresponsetimeswearableudp",
- "Time spent responding to wearable asset requests"),
- LLTrace::Measurement<LLTrace::Seconds>("assetresponsetimessoundudp",
- "Time spent responding to sound asset requests"),
- LLTrace::Measurement<LLTrace::Seconds>("assetresponsetimesgestureudp",
- "Time spent responding to gesture asset requests"),
- LLTrace::Measurement<LLTrace::Seconds>("assetresponsetimesother",
- "Time spent responding to other asset requests")};
+
+ static LLTrace::Count<> sEnqueueAssetRequestsTempTextureHTTP ("enqueuedassetrequeststemptexturehttp",
+ "Number of temporary texture asset http requests enqueued"),
+ sEnqueueAssetRequestsTempTextureUDP ("enqueuedassetrequeststemptextureudp",
+ "Number of temporary texture asset udp requests enqueued"),
+ sEnqueueAssetRequestsNonTempTextureHTTP("enqueuedassetrequestsnontemptexturehttp",
+ "Number of texture asset http requests enqueued"),
+ sEnqueueAssetRequestsNonTempTextureUDP ("enqueuedassetrequestsnontemptextureudp",
+ "Number of texture asset udp requests enqueued"),
+ sEnqueuedAssetRequestsWearableUdp ("enqueuedassetrequestswearableudp",
+ "Number of wearable asset requests enqueued"),
+ sEnqueuedAssetRequestsSoundUdp ("enqueuedassetrequestssoundudp",
+ "Number of sound asset requests enqueued"),
+ sEnqueuedAssetRequestsGestureUdp ("enqueuedassetrequestsgestureudp",
+ "Number of gesture asset requests enqueued"),
+ sEnqueuedAssetRequestsOther ("enqueuedassetrequestsother",
+ "Number of other asset requests enqueued");
+
+ static LLTrace::Count<>* sEnqueued[EVACCount] = {
+ &sEnqueueAssetRequestsTempTextureHTTP,
+ &sEnqueueAssetRequestsTempTextureUDP,
+ &sEnqueueAssetRequestsNonTempTextureHTTP,
+ &sEnqueueAssetRequestsNonTempTextureUDP,
+ &sEnqueuedAssetRequestsWearableUdp,
+ &sEnqueuedAssetRequestsSoundUdp,
+ &sEnqueuedAssetRequestsGestureUdp,
+ &sEnqueuedAssetRequestsOther
+ };
+
+ static LLTrace::Count<> sDequeueAssetRequestsTempTextureHTTP ("dequeuedassetrequeststemptexturehttp",
+ "Number of temporary texture asset http requests dequeued"),
+ sDequeueAssetRequestsTempTextureUDP ("dequeuedassetrequeststemptextureudp",
+ "Number of temporary texture asset udp requests dequeued"),
+ sDequeueAssetRequestsNonTempTextureHTTP("dequeuedassetrequestsnontemptexturehttp",
+ "Number of texture asset http requests dequeued"),
+ sDequeueAssetRequestsNonTempTextureUDP ("dequeuedassetrequestsnontemptextureudp",
+ "Number of texture asset udp requests dequeued"),
+ sDequeuedAssetRequestsWearableUdp ("dequeuedassetrequestswearableudp",
+ "Number of wearable asset requests dequeued"),
+ sDequeuedAssetRequestsSoundUdp ("dequeuedassetrequestssoundudp",
+ "Number of sound asset requests dequeued"),
+ sDequeuedAssetRequestsGestureUdp ("dequeuedassetrequestsgestureudp",
+ "Number of gesture asset requests dequeued"),
+ sDequeuedAssetRequestsOther ("dequeuedassetrequestsother",
+ "Number of other asset requests dequeued");
+
+ static LLTrace::Count<>* sDequeued[EVACCount] = {
+ &sDequeueAssetRequestsTempTextureHTTP,
+ &sDequeueAssetRequestsTempTextureUDP,
+ &sDequeueAssetRequestsNonTempTextureHTTP,
+ &sDequeueAssetRequestsNonTempTextureUDP,
+ &sDequeuedAssetRequestsWearableUdp,
+ &sDequeuedAssetRequestsSoundUdp,
+ &sDequeuedAssetRequestsGestureUdp,
+ &sDequeuedAssetRequestsOther
+ };
+
+ static LLTrace::Measurement<LLTrace::Seconds> sResponseAssetRequestsTempTextureHTTP ("assetresponsetimestemptexturehttp",
+ "Time spent responding to temporary texture asset http requests"),
+ sResponseAssetRequestsTempTextureUDP ("assetresponsetimestemptextureudp",
+ "Time spent responding to temporary texture asset udp requests"),
+ sResponseAssetRequestsNonTempTextureHTTP("assetresponsetimesnontemptexturehttp",
+ "Time spent responding to texture asset http requests"),
+ sResponseAssetRequestsNonTempTextureUDP ("assetresponsetimesnontemptextureudp",
+ "Time spent responding to texture asset udp requests"),
+ sResponsedAssetRequestsWearableUdp ("assetresponsetimeswearableudp",
+ "Time spent responding to wearable asset requests"),
+ sResponsedAssetRequestsSoundUdp ("assetresponsetimessoundudp",
+ "Time spent responding to sound asset requests"),
+ sResponsedAssetRequestsGestureUdp ("assetresponsetimesgestureudp",
+ "Time spent responding to gesture asset requests"),
+ sResponsedAssetRequestsOther ("assetresponsetimesother",
+ "Time spent responding to other asset requests");
+
+ static LLTrace::Measurement<LLTrace::Seconds>* sResponse[EVACCount] = {
+ &sResponseAssetRequestsTempTextureHTTP,
+ &sResponseAssetRequestsTempTextureUDP,
+ &sResponseAssetRequestsNonTempTextureHTTP,
+ &sResponseAssetRequestsNonTempTextureUDP,
+ &sResponsedAssetRequestsWearableUdp,
+ &sResponsedAssetRequestsSoundUdp,
+ &sResponsedAssetRequestsGestureUdp,
+ &sResponsedAssetRequestsOther
+ };
}
// ------------------------------------------------------
@@ -262,7 +297,7 @@ LLViewerAssetStats::LLViewerAssetStats(const LLViewerAssetStats & src)
it->second.makeUnique();
}
- LLStopWatchControlsMixin::initTo(src.getPlayState());
+ LLStopWatchControlsMixin<LLViewerAssetStats>::initTo(src.getPlayState());
}
void LLViewerAssetStats::handleStart()
@@ -349,108 +384,108 @@ void LLViewerAssetStats::getStats(AssetStats& stats, bool compact_output)
RegionStats& r = stats.regions.add();
LLTrace::Recording& rec = it->second;
if (!compact_output
- || rec.getSum(sEnqueued[EVACTextureTempHTTPGet])
- || rec.getSum(sDequeued[EVACTextureTempHTTPGet])
- || rec.getSum(sResponse[EVACTextureTempHTTPGet]).value())
+ || rec.getSum(*sEnqueued[EVACTextureTempHTTPGet])
+ || rec.getSum(*sDequeued[EVACTextureTempHTTPGet])
+ || rec.getSum(*sResponse[EVACTextureTempHTTPGet]).value())
{
- r.get_texture_temp_http .enqueued(rec.getSum(sEnqueued[EVACTextureTempHTTPGet]))
- .dequeued(rec.getSum(sDequeued[EVACTextureTempHTTPGet]))
- .resp_count(rec.getSum(sResponse[EVACTextureTempHTTPGet]).value())
- .resp_min(rec.getMin(sResponse[EVACTextureTempHTTPGet]).value())
- .resp_max(rec.getMax(sResponse[EVACTextureTempHTTPGet]).value())
- .resp_mean(rec.getMean(sResponse[EVACTextureTempHTTPGet]).value());
+ r.get_texture_temp_http .enqueued((S32)rec.getSum(*sEnqueued[EVACTextureTempHTTPGet]))
+ .dequeued((S32)rec.getSum(*sDequeued[EVACTextureTempHTTPGet]))
+ .resp_count((S32)rec.getSum(*sResponse[EVACTextureTempHTTPGet]).value())
+ .resp_min(rec.getMin(*sResponse[EVACTextureTempHTTPGet]).value())
+ .resp_max(rec.getMax(*sResponse[EVACTextureTempHTTPGet]).value())
+ .resp_mean(rec.getMean(*sResponse[EVACTextureTempHTTPGet]).value());
}
if (!compact_output
- || rec.getSum(sEnqueued[EVACTextureTempUDPGet])
- || rec.getSum(sDequeued[EVACTextureTempUDPGet])
- || rec.getSum(sResponse[EVACTextureTempUDPGet]).value())
+ || rec.getSum(*sEnqueued[EVACTextureTempUDPGet])
+ || rec.getSum(*sDequeued[EVACTextureTempUDPGet])
+ || rec.getSum(*sResponse[EVACTextureTempUDPGet]).value())
{
- r.get_texture_temp_udp .enqueued(rec.getSum(sEnqueued[EVACTextureTempUDPGet]))
- .dequeued(rec.getSum(sDequeued[EVACTextureTempUDPGet]))
- .resp_count(rec.getSum(sResponse[EVACTextureTempUDPGet]).value())
- .resp_min(rec.getMin(sResponse[EVACTextureTempUDPGet]).value())
- .resp_max(rec.getMax(sResponse[EVACTextureTempUDPGet]).value())
- .resp_mean(rec.getMean(sResponse[EVACTextureTempUDPGet]).value());
+ r.get_texture_temp_udp .enqueued((S32)rec.getSum(*sEnqueued[EVACTextureTempUDPGet]))
+ .dequeued((S32)rec.getSum(*sDequeued[EVACTextureTempUDPGet]))
+ .resp_count((S32)rec.getSum(*sResponse[EVACTextureTempUDPGet]).value())
+ .resp_min(rec.getMin(*sResponse[EVACTextureTempUDPGet]).value())
+ .resp_max(rec.getMax(*sResponse[EVACTextureTempUDPGet]).value())
+ .resp_mean(rec.getMean(*sResponse[EVACTextureTempUDPGet]).value());
}
if (!compact_output
- || rec.getSum(sEnqueued[EVACTextureNonTempHTTPGet])
- || rec.getSum(sDequeued[EVACTextureNonTempHTTPGet])
- || rec.getSum(sResponse[EVACTextureNonTempHTTPGet]).value())
+ || rec.getSum(*sEnqueued[EVACTextureNonTempHTTPGet])
+ || rec.getSum(*sDequeued[EVACTextureNonTempHTTPGet])
+ || rec.getSum(*sResponse[EVACTextureNonTempHTTPGet]).value())
{
- r.get_texture_non_temp_http .enqueued(rec.getSum(sEnqueued[EVACTextureNonTempHTTPGet]))
- .dequeued(rec.getSum(sDequeued[EVACTextureNonTempHTTPGet]))
- .resp_count(rec.getSum(sResponse[EVACTextureNonTempHTTPGet]).value())
- .resp_min(rec.getMin(sResponse[EVACTextureNonTempHTTPGet]).value())
- .resp_max(rec.getMax(sResponse[EVACTextureNonTempHTTPGet]).value())
- .resp_mean(rec.getMean(sResponse[EVACTextureNonTempHTTPGet]).value());
+ r.get_texture_non_temp_http .enqueued((S32)rec.getSum(*sEnqueued[EVACTextureNonTempHTTPGet]))
+ .dequeued((S32)rec.getSum(*sDequeued[EVACTextureNonTempHTTPGet]))
+ .resp_count((S32)rec.getSum(*sResponse[EVACTextureNonTempHTTPGet]).value())
+ .resp_min(rec.getMin(*sResponse[EVACTextureNonTempHTTPGet]).value())
+ .resp_max(rec.getMax(*sResponse[EVACTextureNonTempHTTPGet]).value())
+ .resp_mean(rec.getMean(*sResponse[EVACTextureNonTempHTTPGet]).value());
}
if (!compact_output
- || rec.getSum(sEnqueued[EVACTextureNonTempUDPGet])
- || rec.getSum(sDequeued[EVACTextureNonTempUDPGet])
- || rec.getSum(sResponse[EVACTextureNonTempUDPGet]).value())
+ || rec.getSum(*sEnqueued[EVACTextureNonTempUDPGet])
+ || rec.getSum(*sDequeued[EVACTextureNonTempUDPGet])
+ || rec.getSum(*sResponse[EVACTextureNonTempUDPGet]).value())
{
- r.get_texture_non_temp_udp .enqueued(rec.getSum(sEnqueued[EVACTextureNonTempUDPGet]))
- .dequeued(rec.getSum(sDequeued[EVACTextureNonTempUDPGet]))
- .resp_count(rec.getSum(sResponse[EVACTextureNonTempUDPGet]).value())
- .resp_min(rec.getMin(sResponse[EVACTextureNonTempUDPGet]).value())
- .resp_max(rec.getMax(sResponse[EVACTextureNonTempUDPGet]).value())
- .resp_mean(rec.getMean(sResponse[EVACTextureNonTempUDPGet]).value());
+ r.get_texture_non_temp_udp .enqueued((S32)rec.getSum(*sEnqueued[EVACTextureNonTempUDPGet]))
+ .dequeued((S32)rec.getSum(*sDequeued[EVACTextureNonTempUDPGet]))
+ .resp_count((S32)rec.getSum(*sResponse[EVACTextureNonTempUDPGet]).value())
+ .resp_min(rec.getMin(*sResponse[EVACTextureNonTempUDPGet]).value())
+ .resp_max(rec.getMax(*sResponse[EVACTextureNonTempUDPGet]).value())
+ .resp_mean(rec.getMean(*sResponse[EVACTextureNonTempUDPGet]).value());
}
if (!compact_output
- || rec.getSum(sEnqueued[EVACWearableUDPGet])
- || rec.getSum(sDequeued[EVACWearableUDPGet])
- || rec.getSum(sResponse[EVACWearableUDPGet]).value())
+ || rec.getSum(*sEnqueued[EVACWearableUDPGet])
+ || rec.getSum(*sDequeued[EVACWearableUDPGet])
+ || rec.getSum(*sResponse[EVACWearableUDPGet]).value())
{
- r.get_wearable_udp .enqueued(rec.getSum(sEnqueued[EVACWearableUDPGet]))
- .dequeued(rec.getSum(sDequeued[EVACWearableUDPGet]))
- .resp_count(rec.getSum(sResponse[EVACWearableUDPGet]).value())
- .resp_min(rec.getMin(sResponse[EVACWearableUDPGet]).value())
- .resp_max(rec.getMax(sResponse[EVACWearableUDPGet]).value())
- .resp_mean(rec.getMean(sResponse[EVACWearableUDPGet]).value());
+ r.get_wearable_udp .enqueued((S32)rec.getSum(*sEnqueued[EVACWearableUDPGet]))
+ .dequeued((S32)rec.getSum(*sDequeued[EVACWearableUDPGet]))
+ .resp_count((S32)rec.getSum(*sResponse[EVACWearableUDPGet]).value())
+ .resp_min(rec.getMin(*sResponse[EVACWearableUDPGet]).value())
+ .resp_max(rec.getMax(*sResponse[EVACWearableUDPGet]).value())
+ .resp_mean(rec.getMean(*sResponse[EVACWearableUDPGet]).value());
}
if (!compact_output
- || rec.getSum(sEnqueued[EVACSoundUDPGet])
- || rec.getSum(sDequeued[EVACSoundUDPGet])
- || rec.getSum(sResponse[EVACSoundUDPGet]).value())
+ || rec.getSum(*sEnqueued[EVACSoundUDPGet])
+ || rec.getSum(*sDequeued[EVACSoundUDPGet])
+ || rec.getSum(*sResponse[EVACSoundUDPGet]).value())
{
- r.get_sound_udp .enqueued(rec.getSum(sEnqueued[EVACSoundUDPGet]))
- .dequeued(rec.getSum(sDequeued[EVACSoundUDPGet]))
- .resp_count(rec.getSum(sResponse[EVACSoundUDPGet]).value())
- .resp_min(rec.getMin(sResponse[EVACSoundUDPGet]).value())
- .resp_max(rec.getMax(sResponse[EVACSoundUDPGet]).value())
- .resp_mean(rec.getMean(sResponse[EVACSoundUDPGet]).value());
+ r.get_sound_udp .enqueued((S32)rec.getSum(*sEnqueued[EVACSoundUDPGet]))
+ .dequeued((S32)rec.getSum(*sDequeued[EVACSoundUDPGet]))
+ .resp_count((S32)rec.getSum(*sResponse[EVACSoundUDPGet]).value())
+ .resp_min(rec.getMin(*sResponse[EVACSoundUDPGet]).value())
+ .resp_max(rec.getMax(*sResponse[EVACSoundUDPGet]).value())
+ .resp_mean(rec.getMean(*sResponse[EVACSoundUDPGet]).value());
}
if (!compact_output
- || rec.getSum(sEnqueued[EVACGestureUDPGet])
- || rec.getSum(sDequeued[EVACGestureUDPGet])
- || rec.getSum(sResponse[EVACGestureUDPGet]).value())
+ || rec.getSum(*sEnqueued[EVACGestureUDPGet])
+ || rec.getSum(*sDequeued[EVACGestureUDPGet])
+ || rec.getSum(*sResponse[EVACGestureUDPGet]).value())
{
- r.get_gesture_udp .enqueued(rec.getSum(sEnqueued[EVACGestureUDPGet]))
- .dequeued(rec.getSum(sDequeued[EVACGestureUDPGet]))
- .resp_count(rec.getSum(sResponse[EVACGestureUDPGet]).value())
- .resp_min(rec.getMin(sResponse[EVACGestureUDPGet]).value())
- .resp_max(rec.getMax(sResponse[EVACGestureUDPGet]).value())
- .resp_mean(rec.getMean(sResponse[EVACGestureUDPGet]).value());
+ r.get_gesture_udp .enqueued((S32)rec.getSum(*sEnqueued[EVACGestureUDPGet]))
+ .dequeued((S32)rec.getSum(*sDequeued[EVACGestureUDPGet]))
+ .resp_count((S32)rec.getSum(*sResponse[EVACGestureUDPGet]).value())
+ .resp_min(rec.getMin(*sResponse[EVACGestureUDPGet]).value())
+ .resp_max(rec.getMax(*sResponse[EVACGestureUDPGet]).value())
+ .resp_mean(rec.getMean(*sResponse[EVACGestureUDPGet]).value());
}
if (!compact_output
- || rec.getSum(sEnqueued[EVACOtherGet])
- || rec.getSum(sDequeued[EVACOtherGet])
- || rec.getSum(sResponse[EVACOtherGet]).value())
+ || rec.getSum(*sEnqueued[EVACOtherGet])
+ || rec.getSum(*sDequeued[EVACOtherGet])
+ || rec.getSum(*sResponse[EVACOtherGet]).value())
{
- r.get_other .enqueued(rec.getSum(sEnqueued[EVACOtherGet]))
- .dequeued(rec.getSum(sDequeued[EVACOtherGet]))
- .resp_count(rec.getSum(sResponse[EVACOtherGet]).value())
- .resp_min(rec.getMin(sResponse[EVACOtherGet]).value())
- .resp_max(rec.getMax(sResponse[EVACOtherGet]).value())
- .resp_mean(rec.getMean(sResponse[EVACOtherGet]).value());
+ r.get_other .enqueued((S32)rec.getSum(*sEnqueued[EVACOtherGet]))
+ .dequeued((S32)rec.getSum(*sDequeued[EVACOtherGet]))
+ .resp_count((S32)rec.getSum(*sResponse[EVACOtherGet]).value())
+ .resp_min(rec.getMin(*sResponse[EVACOtherGet]).value())
+ .resp_max(rec.getMax(*sResponse[EVACOtherGet]).value())
+ .resp_mean(rec.getMean(*sResponse[EVACOtherGet]).value());
}
- S32 fps = rec.getSum(LLStatViewer::FPS_SAMPLE);
+ S32 fps = (S32)rec.getSum(LLStatViewer::FPS_SAMPLE);
if (!compact_output || fps != 0)
{
r.fps.count(fps);
@@ -512,21 +547,21 @@ void record_enqueue(LLViewerAssetType::EType at, bool with_http, bool is_temp)
{
const EViewerAssetCategories eac(asset_type_to_category(at, with_http, is_temp));
- sEnqueued[int(eac)].add(1);
+ sEnqueued[int(eac)]->add(1);
}
void record_dequeue(LLViewerAssetType::EType at, bool with_http, bool is_temp)
{
const EViewerAssetCategories eac(asset_type_to_category(at, with_http, is_temp));
- sDequeued[int(eac)].add(1);
+ sDequeued[int(eac)]->add(1);
}
void record_response(LLViewerAssetType::EType at, bool with_http, bool is_temp, LLViewerAssetStats::duration_t duration)
{
const EViewerAssetCategories eac(asset_type_to_category(at, with_http, is_temp));
- sResponse[int(eac)].sample<LLTrace::Microseconds>(duration);
+ sResponse[int(eac)]->sample<LLTrace::Microseconds>(duration);
}
void record_avatar_stats()
diff --git a/indra/newview/llvosky.cpp b/indra/newview/llvosky.cpp
index 31358df85f..82de61cda2 100644
--- a/indra/newview/llvosky.cpp
+++ b/indra/newview/llvosky.cpp
@@ -2146,7 +2146,7 @@ void LLVOSky::updateFog(const F32 distance)
// get the water param manager variables
float water_fog_density = LLWaterParamManager::getInstance()->getFogDensity();
- LLColor4 water_fog_color = LLDrawPoolWater::sWaterFogColor.mV;
+ LLColor4 water_fog_color(LLDrawPoolWater::sWaterFogColor.mV);
// adjust the color based on depth. We're doing linear approximations
float depth_scale = gSavedSettings.getF32("WaterGLFogDepthScale");
diff --git a/indra/test/io.cpp b/indra/test/io.cpp
index ce747f667d..b3eabc2e8a 100644
--- a/indra/test/io.cpp
+++ b/indra/test/io.cpp
@@ -44,6 +44,7 @@
#include "llsdrpcclient.h"
#include "llsdrpcserver.h"
#include "llsdserialize.h"
+#include "llcommon.h"
#include "lluuid.h"
#include "llinstantmessage.h"
@@ -1187,7 +1188,9 @@ namespace tut
mResponsePtr(response)
{
}
- ~LLSimpleRPCResponse() {}
+ ~LLSimpleRPCResponse()
+ {
+ }
virtual bool response(LLPumpIO* pump)
{
*mResponsePtr = mReturnValue;
diff --git a/indra/test/llhttpdate_tut.cpp b/indra/test/llhttpdate_tut.cpp
index 46684bb9dc..ecf734ee90 100644
--- a/indra/test/llhttpdate_tut.cpp
+++ b/indra/test/llhttpdate_tut.cpp
@@ -29,6 +29,7 @@
#include "lltut.h"
#include "lldate.h"
+#include "llcommon.h"
#include "llframetimer.h"
#include <time.h>
@@ -38,6 +39,12 @@ namespace tut
{
struct httpdate_data
{
+ httpdate_data()
+ {
+ }
+ ~httpdate_data()
+ {
+ }
LLDate some_date;
};
typedef test_group<httpdate_data> httpdate_test;
diff --git a/indra/test/lliohttpserver_tut.cpp b/indra/test/lliohttpserver_tut.cpp
index 2fdc455f45..3fa5c8dd42 100644
--- a/indra/test/lliohttpserver_tut.cpp
+++ b/indra/test/lliohttpserver_tut.cpp
@@ -31,6 +31,7 @@
#include "lliohttpserver.h"
#include "llsdhttpserver.h"
#include "llsdserialize.h"
+#include "llcommon.h"
#include "llpipeutil.h"
@@ -81,6 +82,10 @@ namespace tut
mRoot.addNode("/delayed/echo", new DelayedEcho(this));
mRoot.addNode("/wire/hello", new LLHTTPNodeForPipe<WireHello>);
}
+
+ ~HTTPServiceTestData()
+ {
+ }
LLHTTPNode mRoot;
LLHTTPNode::ResponsePtr mResponse;
diff --git a/indra/test/test.cpp b/indra/test/test.cpp
index d75040393c..28de88201c 100644
--- a/indra/test/test.cpp
+++ b/indra/test/test.cpp
@@ -514,8 +514,8 @@ int main(int argc, char **argv)
#endif
ll_init_apr();
- LLTrace::init();
+ LLTrace::init();
apr_getopt_t* os = NULL;
if(APR_SUCCESS != apr_getopt_init(&os, gAPRPoolp, argc, argv))
{
@@ -643,7 +643,7 @@ int main(int argc, char **argv)
s.close();
}
- ll_cleanup_apr(false);
+ ll_cleanup_apr();
int retval = (success ? 0 : 1);
return retval;
diff --git a/indra/test_apps/llplugintest/llmediaplugintest.cpp b/indra/test_apps/llplugintest/llmediaplugintest.cpp
index 884b00f0cc..fa4f5abd28 100644
--- a/indra/test_apps/llplugintest/llmediaplugintest.cpp
+++ b/indra/test_apps/llplugintest/llmediaplugintest.cpp
@@ -37,6 +37,12 @@
#include "llmediaplugintest.h"
+
+#if LL_WINDOWS
+#pragma warning(disable: 4263)
+#pragma warning(disable: 4264)
+#endif
+
#if __APPLE__
#include <GLUT/glut.h>
#include <CoreFoundation/CoreFoundation.h>
@@ -46,10 +52,6 @@
#define GLUI_FREEGLUT
#endif
-#if LL_WINDOWS
-#pragma warning(disable: 4263)
-#pragma warning(disable: 4264)
-#endif
#include "glui.h"