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
parent
ed34c00956
commit
20b974cff0
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue