place the try/catch in right place on profiles process. This is still bad. Last code changes moved from blocking a user for a long time, to block profiles for all, for a long time. This because some viewers like firestorm, ask for the profiles of all user friends to show their ugly 1st life pictures. thats hundred requests taking from 500ms to more than 30s each

master
UbitUmarov 2020-03-04 17:19:12 +00:00
parent ed34c00956
commit 20b974cff0
1 changed files with 6 additions and 6 deletions

View File

@ -93,10 +93,10 @@ namespace OpenSim.Region.CoreModules.Avatar.UserProfiles
private void ProcessRequests() private void ProcessRequests()
{ {
lock(m_asyncRequestsLock) lock(m_asyncRequestsLock)
{
try
{ {
while(m_asyncRequests.TryDequeue(out AsyncPropsRequest req)) while(m_asyncRequests.TryDequeue(out AsyncPropsRequest req))
{
try
{ {
IClientAPI client = req.client; IClientAPI client = req.client;
if(!client.IsActive) if(!client.IsActive)
@ -209,10 +209,10 @@ namespace OpenSim.Region.CoreModules.Avatar.UserProfiles
} }
} }
} }
} catch (Exception e)
catch(Exception e )
{ {
m_log.ErrorFormat("[ProfileModule]: Process fail {0}",e.Message); m_log.ErrorFormat("[ProfileModule]: Process fail {0} : {1}", e.Message, e.StackTrace);
}
} }
m_asyncRequestsRunning = false; m_asyncRequestsRunning = false;
} }