aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
diff options
context:
space:
mode:
authorTom Grimshaw2010-05-18 03:24:43 -0700
committerTom Grimshaw2010-05-18 03:24:43 -0700
commit1c040d8c1ed5ee1ba1e80aa1d248a9b06d1790a5 (patch)
treec85d36357a2ae9f7a81d8e81b23039b5bdf06d08 /OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
parentMissed a nullref in the previous commit (diff)
downloadopensim-SC_OLD-1c040d8c1ed5ee1ba1e80aa1d248a9b06d1790a5.zip
opensim-SC_OLD-1c040d8c1ed5ee1ba1e80aa1d248a9b06d1790a5.tar.gz
opensim-SC_OLD-1c040d8c1ed5ee1ba1e80aa1d248a9b06d1790a5.tar.bz2
opensim-SC_OLD-1c040d8c1ed5ee1ba1e80aa1d248a9b06d1790a5.tar.xz
Fix to the scenario where we send an agent to a neighbouring sim (via teleport), then tell our neighbours to close the agents.. thereby disconnecting the user. Added a new CloseChildAgent method in lieu of CloseAgent. This has been a long standing problem - with any luck this will cure it.
Diffstat (limited to 'OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs')
-rw-r--r--OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs14
1 files changed, 13 insertions, 1 deletions
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
index ff0dd7e..8e0063b 100644
--- a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
+++ b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
@@ -442,7 +442,7 @@ namespace OpenSim.Services.Connectors.Simulation
442 return true; 442 return true;
443 } 443 }
444 444
445 public bool CloseAgent(GridRegion destination, UUID id) 445 private bool CloseAgent(GridRegion destination, UUID id, bool ChildOnly)
446 { 446 {
447 string uri = string.Empty; 447 string uri = string.Empty;
448 try 448 try
@@ -459,6 +459,8 @@ namespace OpenSim.Services.Connectors.Simulation
459 459
460 WebRequest request = WebRequest.Create(uri); 460 WebRequest request = WebRequest.Create(uri);
461 request.Method = "DELETE"; 461 request.Method = "DELETE";
462 if (ChildOnly)
463 request.Method += "CHILD";
462 request.Timeout = 10000; 464 request.Timeout = 10000;
463 465
464 StreamReader sr = null; 466 StreamReader sr = null;
@@ -491,6 +493,16 @@ namespace OpenSim.Services.Connectors.Simulation
491 return true; 493 return true;
492 } 494 }
493 495
496 public bool CloseChildAgent(GridRegion destination, UUID id)
497 {
498 return CloseAgent(destination, id, true);
499 }
500
501 public bool CloseAgent(GridRegion destination, UUID id)
502 {
503 return CloseAgent(destination, id, false);
504 }
505
494 #endregion Agents 506 #endregion Agents
495 507
496 #region Objects 508 #region Objects