diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Server/Handlers/Simulation/AgentHandlers.cs | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs index 98c5312..0e6710d 100644 --- a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs +++ b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs | |||
@@ -538,7 +538,25 @@ namespace OpenSim.Server.Handlers.Simulation | |||
538 | protected virtual bool CreateAgent(GridRegion source, GridRegion gatekeeper, GridRegion destination, | 538 | protected virtual bool CreateAgent(GridRegion source, GridRegion gatekeeper, GridRegion destination, |
539 | AgentCircuitData aCircuit, uint teleportFlags, bool fromLogin, out string reason) | 539 | AgentCircuitData aCircuit, uint teleportFlags, bool fromLogin, out string reason) |
540 | { | 540 | { |
541 | return m_SimulationService.CreateAgent(source, destination, aCircuit, teleportFlags, out reason); | 541 | reason = String.Empty; |
542 | if ((teleportFlags & (uint)TeleportFlags.ViaLogin) == 0) | ||
543 | { | ||
544 | Util.FireAndForget(x => | ||
545 | { | ||
546 | string r; | ||
547 | m_SimulationService.CreateAgent(source, destination, aCircuit, teleportFlags, out r); | ||
548 | m_log.DebugFormat("[AGENT HANDLER]: ASYNC CreateAgent {0}", r); | ||
549 | }); | ||
550 | |||
551 | return true; | ||
552 | } | ||
553 | else | ||
554 | { | ||
555 | |||
556 | bool ret = m_SimulationService.CreateAgent(source, destination, aCircuit, teleportFlags, out reason); | ||
557 | m_log.DebugFormat("[AGENT HANDLER]: SYNC CreateAgent {0} {1}", ret.ToString(), reason); | ||
558 | return ret; | ||
559 | } | ||
542 | } | 560 | } |
543 | } | 561 | } |
544 | 562 | ||