diff options
| author | Richard Linden <none@none> | 2013-03-22 00:44:59 -0700 | 
|---|---|---|
| committer | Richard Linden <none@none> | 2013-03-22 00:44:59 -0700 | 
| commit | 68f9f656cd22332e46959a90347e38f79c19a66c (patch) | |
| tree | 531d87287b69f500c5901f785e60483555b415f9 /indra/llmessage | |
| parent | e87000ba0750e55d9d6b55feccc4124f5d2b4b74 (diff) | |
| parent | 368dd542bec7c31e14673b83d3342c35717d2920 (diff) | |
merge with viewer-release
Diffstat (limited to 'indra/llmessage')
| -rw-r--r-- | indra/llmessage/llassetstorage.cpp | 27 | ||||
| -rw-r--r-- | indra/llmessage/llbuffer.cpp | 1 | ||||
| -rw-r--r-- | indra/llmessage/lldispatcher.cpp | 1 | ||||
| -rw-r--r-- | indra/llmessage/llfiltersd2xmlrpc.cpp | 1 | ||||
| -rw-r--r-- | indra/llmessage/lliohttpserver.cpp | 1 | ||||
| -rw-r--r-- | indra/llmessage/lliopipe.h | 1 | ||||
| -rw-r--r-- | indra/llmessage/lliosocket.cpp | 1 | ||||
| -rw-r--r-- | indra/llmessage/lliosocket.h | 1 | ||||
| -rw-r--r-- | indra/llmessage/llioutil.cpp | 1 | ||||
| -rw-r--r-- | indra/llmessage/llmail.cpp | 7 | ||||
| -rw-r--r-- | indra/llmessage/llproxy.cpp | 10 | ||||
| -rw-r--r-- | indra/llmessage/llpumpio.cpp | 1 | ||||
| -rw-r--r-- | indra/llmessage/llsdrpcclient.cpp | 1 | ||||
| -rw-r--r-- | indra/llmessage/llsdrpcserver.cpp | 1 | ||||
| -rw-r--r-- | indra/llmessage/llurlrequest.cpp | 5 | ||||
| -rw-r--r-- | indra/llmessage/net.cpp | 4 | 
16 files changed, 49 insertions, 15 deletions
| diff --git a/indra/llmessage/llassetstorage.cpp b/indra/llmessage/llassetstorage.cpp index 9b86daebe5..430c9503ac 100644 --- a/indra/llmessage/llassetstorage.cpp +++ b/indra/llmessage/llassetstorage.cpp @@ -50,10 +50,14 @@  #include "lltransfertargetvfile.h" // For debugging  #include "llmetrics.h" +#include "lltrace.h"  LLAssetStorage *gAssetStorage = NULL;  LLMetrics *LLAssetStorage::metric_recipient = NULL; +static LLTrace::CountStatHandle<> sFailedDownloadCount("faileddownloads", "Number of times LLAssetStorage::getAssetData() has failed"); + +  const LLUUID CATEGORIZE_LOST_AND_FOUND_ID(std::string("00000000-0000-0000-0000-000000000010"));  const U64 TOXIC_ASSET_LIFETIME = (120 * 1000000);		// microseconds @@ -450,6 +454,7 @@ void LLAssetStorage::getAssetData(const LLUUID uuid, LLAssetType::EType type, LL  		if (callback)  		{ +			add(sFailedDownloadCount, 1);  			callback(mVFS, uuid, type, user_data, LL_ERR_ASSET_REQUEST_FAILED, LL_EXSTAT_NONE);  		}  		return; @@ -460,6 +465,7 @@ void LLAssetStorage::getAssetData(const LLUUID uuid, LLAssetType::EType type, LL  		// Special case early out for NULL uuid and for shutting down  		if (callback)  		{ +			add(sFailedDownloadCount, 1);  			callback(mVFS, uuid, type, user_data, LL_ERR_ASSET_REQUEST_NOT_IN_DATABASE, LL_EXSTAT_NULL_UUID);  		}  		return; @@ -572,6 +578,7 @@ void LLAssetStorage::_queueDataRequest(const LLUUID& uuid, LLAssetType::EType at  		llwarns << "Attempt to move asset data request upstream w/o valid upstream provider" << llendl;  		if (callback)  		{ +			add(sFailedDownloadCount, 1);  			callback(mVFS, uuid, atype, user_data, LL_ERR_CIRCUIT_GONE, LL_EXSTAT_NO_UPSTREAM);  		}  	} @@ -649,6 +656,10 @@ void LLAssetStorage::downloadCompleteCallback(  		LLAssetRequest* tmp = *curiter;  		if (tmp->mDownCallback)  		{ +			if (result != LL_ERR_NOERR) +			{ +				add(sFailedDownloadCount, 1); +			}  			tmp->mDownCallback(gAssetStorage->mVFS, req->getUUID(), req->getType(), tmp->mUserData, result, ext_status);  		}  		delete tmp; @@ -669,6 +680,7 @@ void LLAssetStorage::getEstateAsset(const LLHost &object_sim, const LLUUID &agen  		// Special case early out for NULL uuid  		if (callback)  		{ +			add(sFailedDownloadCount, 1);  			callback(mVFS, asset_id, atype, user_data, LL_ERR_ASSET_REQUEST_NOT_IN_DATABASE, LL_EXSTAT_NULL_UUID);  		}  		return; @@ -741,6 +753,7 @@ void LLAssetStorage::getEstateAsset(const LLHost &object_sim, const LLUUID &agen  			llwarns << "Attempt to move asset data request upstream w/o valid upstream provider" << llendl;  			if (callback)  			{ +				add(sFailedDownloadCount, 1);  				callback(mVFS, asset_id, atype, user_data, LL_ERR_CIRCUIT_GONE, LL_EXSTAT_NO_UPSTREAM);  			}  		} @@ -783,6 +796,10 @@ void LLAssetStorage::downloadEstateAssetCompleteCallback(  		}  	} +	if (result != LL_ERR_NOERR) +	{ +		add(sFailedDownloadCount, 1); +	}  	req->mDownCallback(gAssetStorage->mVFS, req->getUUID(), req->getAType(), req->mUserData, result, ext_status);  } @@ -883,6 +900,7 @@ void LLAssetStorage::getInvItemAsset(const LLHost &object_sim, const LLUUID &age  			llwarns << "Attempt to move asset data request upstream w/o valid upstream provider" << llendl;  			if (callback)  			{ +				add(sFailedDownloadCount, 1);  				callback(mVFS, asset_id, atype, user_data, LL_ERR_CIRCUIT_GONE, LL_EXSTAT_NO_UPSTREAM);  			}  		} @@ -925,6 +943,10 @@ void LLAssetStorage::downloadInvItemCompleteCallback(  		}  	} +	if (result != LL_ERR_NOERR) +	{ +		add(sFailedDownloadCount, 1); +	}  	req->mDownCallback(gAssetStorage->mVFS, req->getUUID(), req->getType(), req->mUserData, result, ext_status);  } @@ -1237,6 +1259,7 @@ bool LLAssetStorage::deletePendingRequestImpl(LLAssetStorage::request_list_t* re  		}  		if (req->mDownCallback)  		{ +			add(sFailedDownloadCount, 1);  			req->mDownCallback(mVFS, req->getUUID(), req->getType(), req->mUserData, error, LL_EXSTAT_REQUEST_DROPPED);  		}  		if (req->mInfoCallback) @@ -1363,6 +1386,10 @@ void LLAssetStorage::legacyGetDataCallback(LLVFS *vfs, const LLUUID &uuid, LLAss  		}  	} +	if (status != LL_ERR_NOERR) +	{ +		add(sFailedDownloadCount, 1); +	}  	legacy->mDownCallback(filename.c_str(), uuid, legacy->mUserData, status, ext_status);  	delete legacy;  } diff --git a/indra/llmessage/llbuffer.cpp b/indra/llmessage/llbuffer.cpp index 01da20f060..1722b48f44 100644 --- a/indra/llmessage/llbuffer.cpp +++ b/indra/llmessage/llbuffer.cpp @@ -32,6 +32,7 @@  #include "llmath.h"  #include "llstl.h"  #include "llthread.h" +#include <iterator>  #define ASSERT_LLBUFFERARRAY_MUTEX_LOCKED llassert(!mMutexp || mMutexp->isSelfLocked()); diff --git a/indra/llmessage/lldispatcher.cpp b/indra/llmessage/lldispatcher.cpp index b2dc414a68..7ac3651a76 100644 --- a/indra/llmessage/lldispatcher.cpp +++ b/indra/llmessage/lldispatcher.cpp @@ -29,6 +29,7 @@  #include "lldispatcher.h"  #include <algorithm> +#include <iterator>  #include "llstl.h"  #include "message.h" diff --git a/indra/llmessage/llfiltersd2xmlrpc.cpp b/indra/llmessage/llfiltersd2xmlrpc.cpp index e0ca056a5f..dbb8c4e28d 100644 --- a/indra/llmessage/llfiltersd2xmlrpc.cpp +++ b/indra/llmessage/llfiltersd2xmlrpc.cpp @@ -80,6 +80,7 @@  #include "llbuffer.h"  #include "llbufferstream.h" +#include "llfasttimer.h"  #include "llmemorystream.h"  #include "llsd.h"  #include "llsdserialize.h" diff --git a/indra/llmessage/lliohttpserver.cpp b/indra/llmessage/lliohttpserver.cpp index 1236fc8b71..f9d37b2e39 100644 --- a/indra/llmessage/lliohttpserver.cpp +++ b/indra/llmessage/lliohttpserver.cpp @@ -33,6 +33,7 @@  #include "llapr.h"  #include "llbuffer.h"  #include "llbufferstream.h" +#include "llfasttimer.h"  #include "llhttpnode.h"  #include "lliopipe.h"  #include "lliosocket.h" diff --git a/indra/llmessage/lliopipe.h b/indra/llmessage/lliopipe.h index cbd17b5a3d..9a0a427efd 100644 --- a/indra/llmessage/lliopipe.h +++ b/indra/llmessage/lliopipe.h @@ -31,6 +31,7 @@  #include <boost/intrusive_ptr.hpp>  #include <boost/shared_ptr.hpp> +#include "llwin32headerslean.h"  #include "apr_poll.h"  #include "llsd.h" diff --git a/indra/llmessage/lliosocket.cpp b/indra/llmessage/lliosocket.cpp index 0287026659..1383d37f41 100644 --- a/indra/llmessage/lliosocket.cpp +++ b/indra/llmessage/lliosocket.cpp @@ -32,6 +32,7 @@  #include "llapr.h"  #include "llbuffer.h" +#include "llfasttimer.h"  #include "llhost.h"  #include "llpumpio.h" diff --git a/indra/llmessage/lliosocket.h b/indra/llmessage/lliosocket.h index be0f7dfcc6..ec998552d0 100644 --- a/indra/llmessage/lliosocket.h +++ b/indra/llmessage/lliosocket.h @@ -38,6 +38,7 @@   */  #include "lliopipe.h" +#include "llwin32headerslean.h"  #include "apr_pools.h"  #include "apr_network_io.h"  #include "llchainio.h" diff --git a/indra/llmessage/llioutil.cpp b/indra/llmessage/llioutil.cpp index 8c50fd5069..9fd49d23d4 100644 --- a/indra/llmessage/llioutil.cpp +++ b/indra/llmessage/llioutil.cpp @@ -28,6 +28,7 @@  #include "linden_common.h"  #include "llioutil.h" +#include "llfasttimer.h"  /**   * LLIOFlush diff --git a/indra/llmessage/llmail.cpp b/indra/llmessage/llmail.cpp index 08b31e9c7a..dc27f2ca4a 100644 --- a/indra/llmessage/llmail.cpp +++ b/indra/llmessage/llmail.cpp @@ -29,12 +29,7 @@  #include "llmail.h"  // APR on Windows needs full windows headers -#ifdef LL_WINDOWS -#	undef WIN32_LEAN_AND_MEAN -#	include <winsock2.h> -#	include <windows.h> -#endif - +#include "llwin32headers.h"  #include <string>  #include <sstream> diff --git a/indra/llmessage/llproxy.cpp b/indra/llmessage/llproxy.cpp index 9988fcd9c0..9b8d19cc3e 100644 --- a/indra/llmessage/llproxy.cpp +++ b/indra/llmessage/llproxy.cpp @@ -57,13 +57,15 @@ LLProxy::LLProxy():  		mAuthMethodSelected(METHOD_NOAUTH),  		mSocksUsername(),  		mSocksPassword() -{ -} +{}  LLProxy::~LLProxy()  { -	stopSOCKSProxy(); -	disableHTTPProxy(); +	if (ll_apr_is_initialized()) +	{ +		stopSOCKSProxy(); +		disableHTTPProxy(); +	}  }  /** diff --git a/indra/llmessage/llpumpio.cpp b/indra/llmessage/llpumpio.cpp index 0623e99f0a..e3f09f34ee 100644 --- a/indra/llmessage/llpumpio.cpp +++ b/indra/llmessage/llpumpio.cpp @@ -34,6 +34,7 @@  #include "apr_poll.h"  #include "llapr.h" +#include "llfasttimer.h"  #include "llstl.h"  // These should not be enabled in production, but they can be diff --git a/indra/llmessage/llsdrpcclient.cpp b/indra/llmessage/llsdrpcclient.cpp index fcda0e81a3..05b27f582c 100644 --- a/indra/llmessage/llsdrpcclient.cpp +++ b/indra/llmessage/llsdrpcclient.cpp @@ -30,6 +30,7 @@  #include "llsdrpcclient.h"  #include "llbufferstream.h" +#include "llfasttimer.h"  #include "llfiltersd2xmlrpc.h"  #include "llpumpio.h"  #include "llsd.h" diff --git a/indra/llmessage/llsdrpcserver.cpp b/indra/llmessage/llsdrpcserver.cpp index f26ee52f71..2c233c1c0d 100644 --- a/indra/llmessage/llsdrpcserver.cpp +++ b/indra/llmessage/llsdrpcserver.cpp @@ -31,6 +31,7 @@  #include "llbuffer.h"  #include "llbufferstream.h" +#include "llfasttimer.h"  #include "llpumpio.h"  #include "llsdserialize.h"  #include "llstl.h" diff --git a/indra/llmessage/llurlrequest.cpp b/indra/llmessage/llurlrequest.cpp index 227efdb07a..1264659b62 100644 --- a/indra/llmessage/llurlrequest.cpp +++ b/indra/llmessage/llurlrequest.cpp @@ -33,6 +33,7 @@  #include <openssl/x509_vfy.h>  #include <openssl/ssl.h>  #include "llcurl.h" +#include "llfasttimer.h"  #include "llioutil.h"  #include "llproxy.h"  #include "llpumpio.h" @@ -280,6 +281,8 @@ LLIOPipe::EStatus LLURLRequest::handleError(  static LLFastTimer::DeclareTimer FTM_PROCESS_URL_REQUEST("URL Request");  static LLFastTimer::DeclareTimer FTM_PROCESS_URL_REQUEST_GET_RESULT("Get Result");  static LLFastTimer::DeclareTimer FTM_URL_PERFORM("Perform"); +static LLFastTimer::DeclareTimer FTM_PROCESS_URL_PUMP_RESPOND("Pump Respond"); +static LLFastTimer::DeclareTimer FTM_URL_ADJUST_TIMEOUT("Adjust Timeout");  // virtual  LLIOPipe::EStatus LLURLRequest::process_impl( @@ -299,7 +302,6 @@ LLIOPipe::EStatus LLURLRequest::process_impl(  	const S32 MIN_ACCUMULATION = 100000;  	if(pump && (mDetail->mByteAccumulator > MIN_ACCUMULATION))  	{ -		static LLFastTimer::DeclareTimer FTM_URL_ADJUST_TIMEOUT("Adjust Timeout");  		LLFastTimer t(FTM_URL_ADJUST_TIMEOUT);  		 // This is a pretty sloppy calculation, but this  		 // tries to make the gross assumption that if data @@ -398,7 +400,6 @@ LLIOPipe::EStatus LLURLRequest::process_impl(  						link.mChannels = LLBufferArray::makeChannelConsumer(  							channels);  						chain.push_back(link); -						static LLFastTimer::DeclareTimer FTM_PROCESS_URL_PUMP_RESPOND("Pump Respond");  						{  							LLFastTimer t(FTM_PROCESS_URL_PUMP_RESPOND);  							pump->respond(chain, buffer, context); diff --git a/indra/llmessage/net.cpp b/indra/llmessage/net.cpp index 85aef5da00..6f8508ee8c 100644 --- a/indra/llmessage/net.cpp +++ b/indra/llmessage/net.cpp @@ -32,9 +32,7 @@  #include <stdexcept>  #if LL_WINDOWS -	#define WIN32_LEAN_AND_MEAN -	#include <winsock2.h> -	#include <windows.h> +#include "llwin32headerslean.h"  #else  	#include <sys/types.h>  	#include <sys/socket.h> | 
