diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake index 3ad2fceb7..e8d97a574 100644 --- a/indra/cmake/Boost.cmake +++ b/indra/cmake/Boost.cmake @@ -8,7 +8,7 @@ if (STANDALONE) include(FindBoost) set(Boost_USE_MULTITHREADED ON) - find_package(Boost 1.40.0 COMPONENTS date_time filesystem program_options regex system thread wave) + find_package(Boost 1.51.0 COMPONENTS date_time filesystem program_options regex system thread wave context) else (STANDALONE) use_prebuilt_binary(boost) set(Boost_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include) diff --git a/indra/cmake/Colladadom.cmake b/indra/cmake/Colladadom.cmake index 9041803d5..a113ee2cf 100644 --- a/indra/cmake/Colladadom.cmake +++ b/indra/cmake/Colladadom.cmake @@ -10,9 +10,9 @@ if (STANDALONE) else (STANDALONE) use_prebuilt_binary(colladadom) - if (NOT WINDOWS) + if (NOT WINDOWS AND NOT LINUX) use_prebuilt_binary(pcre) - endif (NOT WINDOWS) + endif (NOT WINDOWS AND NOT LINUX) if (NOT DARWIN AND NOT WINDOWS) use_prebuilt_binary(libxml) diff --git a/indra/cmake/FindGoogleBreakpad.cmake b/indra/cmake/FindGoogleBreakpad.cmake index d4b2eb1b3..18e0b56ed 100644 --- a/indra/cmake/FindGoogleBreakpad.cmake +++ b/indra/cmake/FindGoogleBreakpad.cmake @@ -11,8 +11,6 @@ FIND_PATH(BREAKPAD_INCLUDE_DIRECTORIES common/using_std_string.h PATH_SUFFIXES google_breakpad) -MESSAGE("BREAKPAD_INCLUDE_DIRECTORIES = \"${BREAKPAD_INCLUDE_DIRECTORIES}\".") - SET(BREAKPAD_EXCEPTION_HANDLER_NAMES ${BREAKPAD_EXCEPTION_HANDLER_NAMES} breakpad_client) FIND_LIBRARY(BREAKPAD_EXCEPTION_HANDLER_LIBRARY NAMES ${BREAKPAD_EXCEPTION_HANDLER_NAMES} diff --git a/indra/llmessage/aicurlperservice.h b/indra/llmessage/aicurlperservice.h index 8af4cdab6..9ecec8c72 100644 --- a/indra/llmessage/aicurlperservice.h +++ b/indra/llmessage/aicurlperservice.h @@ -145,7 +145,8 @@ class AIPerService { queued_request_type mQueuedRequests; // Waiting (throttled) requests. U16 mApprovedRequests; // The number of approved requests for this CT by approveHTTPRequestFor that were not added to the command queue yet. - U16 mQueuedCommands; // Number of add commands (minus remove commands), for this service, in the command queue. + S16 mQueuedCommands; // Number of add commands (minus remove commands), for this service, in the command queue. + // This value can temporarily become negative when remove commands are added to the queue for add requests that were already processed. U16 mAdded; // Number of active easy handles with this service. U16 mFlags; // ctf_empty: Set to true when the queue becomes precisely empty. // ctf_full : Set to true when the queue is popped and then still isn't empty; @@ -268,7 +269,7 @@ class AIPerService { public: void added_to_command_queue(AICapabilityType capability_type) { ++mCapabilityType[capability_type].mQueuedCommands; mark_inuse(capability_type); } - void removed_from_command_queue(AICapabilityType capability_type) { llassert(mCapabilityType[capability_type].mQueuedCommands > 0); --mCapabilityType[capability_type].mQueuedCommands; } + void removed_from_command_queue(AICapabilityType capability_type) { --mCapabilityType[capability_type].mQueuedCommands; } void added_to_multi_handle(AICapabilityType capability_type, bool event_poll); // Called when an easy handle for this service has been added to the multi handle. void removed_from_multi_handle(AICapabilityType capability_type, bool event_poll, bool downloaded_something, bool success); // Called when an easy handle for this service is removed again from the multi handle. diff --git a/indra/llmessage/aicurlthread.cpp b/indra/llmessage/aicurlthread.cpp index 83e258fd9..0375f8bc3 100644 --- a/indra/llmessage/aicurlthread.cpp +++ b/indra/llmessage/aicurlthread.cpp @@ -1312,7 +1312,7 @@ void AICurlThread::process_commands(AICurlMultiHandle_wat const& multi_handle_w) *command_being_processed_w = command_queue_w->commands.front(); command = command_being_processed_w->command(); } - // Update the size: the number netto number of pending requests in the command queue. + // Update the size: the netto number of pending requests in the command queue. command_queue_w->commands.pop_front(); if (command == cmd_add) { diff --git a/indra/newview/aihttpview.cpp b/indra/newview/aihttpview.cpp index 11e5af66b..3bc6b18f7 100644 --- a/indra/newview/aihttpview.cpp +++ b/indra/newview/aihttpview.cpp @@ -109,14 +109,14 @@ void AIServiceBar::draw() { if (col < 2) { - text = llformat(" | %hu-%hu-%lu,{%hu/%hu,%u}/%u", + text = llformat(" | %hu-%hd-%lu,{%hu/%hu,%u}/%u", ct.mApprovedRequests, ct.mQueuedCommands, ct.mQueuedRequests.size(), ct.mAdded, ct.mConcurrentConnections, ct.mDownloading, ct.mMaxPipelinedRequests); } else { - text = llformat(" | --%hu-%lu,{%hu/%hu,%u}", + text = llformat(" | --%hd-%lu,{%hu/%hu,%u}", ct.mQueuedCommands, ct.mQueuedRequests.size(), ct.mAdded, ct.mConcurrentConnections, ct.mDownloading); }