mirror of
https://github.com/opensim/opensim.git
synced 2026-08-11 03:45:35 +08:00
05:24:49 - [PRESENCE]: Logging off 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb because the region they were in has gone
Or, in other words, a region crash/restart no longer messes up presence.
This commit is contained in:
@@ -666,5 +666,35 @@ namespace OpenSim.Grid.MessagingServer
|
||||
response.Value = result;
|
||||
return response;
|
||||
}
|
||||
|
||||
public XmlRpcResponse ProcessRegionShutdown(XmlRpcRequest request)
|
||||
{
|
||||
Hashtable requestData = (Hashtable)request.Params[0];
|
||||
Hashtable result = new Hashtable();
|
||||
result["success"] = "FALSE";
|
||||
|
||||
UUID regionID;
|
||||
if (UUID.TryParse((string)requestData["regionid"], out regionID))
|
||||
{
|
||||
m_log.DebugFormat("[PRESENCE] Processing region restart for {0}", regionID);
|
||||
result["success"] = "TRUE";
|
||||
|
||||
foreach (UserPresenceData up in m_presences.Values)
|
||||
{
|
||||
if(up.regionData.UUID == regionID)
|
||||
{
|
||||
if (up.OnlineYN)
|
||||
{
|
||||
m_log.DebugFormat("[PRESENCE] Logging off {0} because the region they were in has gone", up.agentData.AgentID);
|
||||
ProcessLogOff(up.agentData.AgentID);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
XmlRpcResponse response = new XmlRpcResponse();
|
||||
response.Value = result;
|
||||
return response;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user