aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Server/Handlers/Simulation/AgentHandlers.cs')
-rw-r--r--OpenSim/Server/Handlers/Simulation/AgentHandlers.cs20
1 files changed, 19 insertions, 1 deletions
diff --git a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
index e7544b5..30418be 100644
--- a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
+++ b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
@@ -448,7 +448,25 @@ namespace OpenSim.Server.Handlers.Simulation
448 protected virtual bool CreateAgent(GridRegion source, GridRegion gatekeeper, GridRegion destination, 448 protected virtual bool CreateAgent(GridRegion source, GridRegion gatekeeper, GridRegion destination,
449 AgentCircuitData aCircuit, uint teleportFlags, bool fromLogin, out string reason) 449 AgentCircuitData aCircuit, uint teleportFlags, bool fromLogin, out string reason)
450 { 450 {
451 return m_SimulationService.CreateAgent(source, destination, aCircuit, teleportFlags, out reason); 451 reason = String.Empty;
452 if ((teleportFlags & (uint)TeleportFlags.ViaLogin) == 0)
453 {
454 Util.FireAndForget(x =>
455 {
456 string r;
457 m_SimulationService.CreateAgent(source, destination, aCircuit, teleportFlags, out r);
458 m_log.DebugFormat("[AGENT HANDLER]: ASYNC CreateAgent {0}", r);
459 });
460
461 return true;
462 }
463 else
464 {
465
466 bool ret = m_SimulationService.CreateAgent(source, destination, aCircuit, teleportFlags, out reason);
467 m_log.DebugFormat("[AGENT HANDLER]: SYNC CreateAgent {0} {1}", ret.ToString(), reason);
468 return ret;
469 }
452 } 470 }
453 } 471 }
454 472