diff options
3 files changed, 19 insertions, 6 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 95c771e..c88be7d 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -399,6 +399,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
399 | if (!UpdateAgent(reg, finalDestination, agent)) | 399 | if (!UpdateAgent(reg, finalDestination, agent)) |
400 | { | 400 | { |
401 | // Region doesn't take it | 401 | // Region doesn't take it |
402 | m_log.WarnFormat( | ||
403 | "[ENTITY TRANSFER MODULE]: UpdateAgent failed on teleport of {0} to {1}. Returning avatar to source region.", | ||
404 | sp.Name, finalDestination.RegionName); | ||
405 | |||
402 | Fail(sp, finalDestination); | 406 | Fail(sp, finalDestination); |
403 | return; | 407 | return; |
404 | } | 408 | } |
@@ -425,16 +429,18 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
425 | // that the client contacted the destination before we send the attachments and close things here. | 429 | // that the client contacted the destination before we send the attachments and close things here. |
426 | if (!WaitForCallback(sp.UUID)) | 430 | if (!WaitForCallback(sp.UUID)) |
427 | { | 431 | { |
428 | Fail(sp, finalDestination); | 432 | m_log.WarnFormat( |
433 | "[ENTITY TRANSFER MODULE]: Teleport of {0} to {1} failed due to no callback from destination region. Returning avatar to source region.", | ||
434 | sp.Name, finalDestination.RegionName); | ||
435 | |||
436 | Fail(sp, finalDestination); | ||
429 | return; | 437 | return; |
430 | } | 438 | } |
431 | 439 | ||
432 | |||
433 | // CrossAttachmentsIntoNewRegion is a synchronous call. We shouldn't need to wait after it | 440 | // CrossAttachmentsIntoNewRegion is a synchronous call. We shouldn't need to wait after it |
434 | CrossAttachmentsIntoNewRegion(finalDestination, sp, true); | 441 | CrossAttachmentsIntoNewRegion(finalDestination, sp, true); |
435 | 442 | ||
436 | // Well, this is it. The agent is over there. | 443 | // Well, this is it. The agent is over there. |
437 | |||
438 | KillEntity(sp.Scene, sp.LocalId); | 444 | KillEntity(sp.Scene, sp.LocalId); |
439 | 445 | ||
440 | // May need to logout or other cleanup | 446 | // May need to logout or other cleanup |
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs index 463b2fb..93b3ae6 100644 --- a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs +++ b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs | |||
@@ -79,9 +79,6 @@ namespace OpenSim.Services.Connectors.Simulation | |||
79 | return "agent/"; | 79 | return "agent/"; |
80 | } | 80 | } |
81 | 81 | ||
82 | /// <summary> | ||
83 | /// | ||
84 | /// </summary> | ||
85 | public bool CreateAgent(GridRegion destination, AgentCircuitData aCircuit, uint flags, out string reason) | 82 | public bool CreateAgent(GridRegion destination, AgentCircuitData aCircuit, uint flags, out string reason) |
86 | { | 83 | { |
87 | // m_log.DebugFormat("[REMOTE SIMULATION CONNECTOR]: CreateAgent start"); | 84 | // m_log.DebugFormat("[REMOTE SIMULATION CONNECTOR]: CreateAgent start"); |
@@ -109,6 +106,9 @@ namespace OpenSim.Services.Connectors.Simulation | |||
109 | if (result["Success"].AsBoolean()) | 106 | if (result["Success"].AsBoolean()) |
110 | return true; | 107 | return true; |
111 | 108 | ||
109 | m_log.WarnFormat( | ||
110 | "[REMOTE SIMULATION CONNECTOR]: Failed to create agent {0} {1} at remote simulator {1}", | ||
111 | aCircuit.firstname, aCircuit.lastname, destination.RegionName); | ||
112 | reason = result["Message"] != null ? result["Message"].AsString() : "error"; | 112 | reason = result["Message"] != null ? result["Message"].AsString() : "error"; |
113 | return false; | 113 | return false; |
114 | } | 114 | } |
diff --git a/OpenSim/Services/Interfaces/ISimulationService.cs b/OpenSim/Services/Interfaces/ISimulationService.cs index b796757..55c9cc5 100644 --- a/OpenSim/Services/Interfaces/ISimulationService.cs +++ b/OpenSim/Services/Interfaces/ISimulationService.cs | |||
@@ -40,6 +40,13 @@ namespace OpenSim.Services.Interfaces | |||
40 | 40 | ||
41 | #region Agents | 41 | #region Agents |
42 | 42 | ||
43 | /// <summary> | ||
44 | /// Ask the simulator hosting the destination to create an agent on that region. | ||
45 | /// </summary> | ||
46 | /// <param name="destination"></param> | ||
47 | /// <param name="aCircuit"></param> | ||
48 | /// <param name="flags"></param> | ||
49 | /// <param name="reason">Reason message in the event of a failure.</param> | ||
43 | bool CreateAgent(GridRegion destination, AgentCircuitData aCircuit, uint flags, out string reason); | 50 | bool CreateAgent(GridRegion destination, AgentCircuitData aCircuit, uint flags, out string reason); |
44 | 51 | ||
45 | /// <summary> | 52 | /// <summary> |