aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorTeravus Ovares2008-03-18 06:03:50 +0000
committerTeravus Ovares2008-03-18 06:03:50 +0000
commit443c66b43239038d50bf89e2233fdba778c250f7 (patch)
tree9bafd952ffdf3318a570c17e5be2846e02760125
parent* Added the ability to type the partial name of a region in the start locatio... (diff)
downloadopensim-SC_OLD-443c66b43239038d50bf89e2233fdba778c250f7.zip
opensim-SC_OLD-443c66b43239038d50bf89e2233fdba778c250f7.tar.gz
opensim-SC_OLD-443c66b43239038d50bf89e2233fdba778c250f7.tar.bz2
opensim-SC_OLD-443c66b43239038d50bf89e2233fdba778c250f7.tar.xz
Since we don't yet have a reliable way to release the lock that prevents a user from logging in a second time if they're already registered as logged in;
* If a user logs in and they are noted as agentOnline. Set agentOnline = false and send a 'you're already logged in' message to the user asking them to wait 5 minutes. These 5 minutes are not enforced (because there's no foolproof interlock release yet without the grid operator getting a support call for every little sim crash). When the user gets the message, they can log-in immediately after it, but the user can expect weird results if they don't wait 5 minutes and log-in to the region they were in previously.
-rw-r--r--OpenSim/Framework/Communications/LoginResponse.cs2
-rw-r--r--OpenSim/Framework/Communications/LoginService.cs2
2 files changed, 2 insertions, 2 deletions
diff --git a/OpenSim/Framework/Communications/LoginResponse.cs b/OpenSim/Framework/Communications/LoginResponse.cs
index a093c9d..a815662 100644
--- a/OpenSim/Framework/Communications/LoginResponse.cs
+++ b/OpenSim/Framework/Communications/LoginResponse.cs
@@ -244,7 +244,7 @@ namespace OpenSim.Framework.UserManagement
244 { 244 {
245 return 245 return
246 (GenerateFailureResponse("presence", 246 (GenerateFailureResponse("presence",
247 "You appear to be already logged in, if this is not the case please wait for your session to timeout, if this takes longer than a few minutes please contact the grid owner", 247 "You appear to be already logged in, if this is not the case please wait for your session to timeout, if this takes longer than a few minutes please contact the grid owner. Please wait 5 minutes if you are going to connect to a region nearby to the region you were at previously.",
248 "false")); 248 "false"));
249 } 249 }
250 250
diff --git a/OpenSim/Framework/Communications/LoginService.cs b/OpenSim/Framework/Communications/LoginService.cs
index dede607..72b408b 100644
--- a/OpenSim/Framework/Communications/LoginService.cs
+++ b/OpenSim/Framework/Communications/LoginService.cs
@@ -164,7 +164,7 @@ namespace OpenSim.Framework.UserManagement
164 // If agentOnline could not turn from true back to false normally 164 // If agentOnline could not turn from true back to false normally
165 // because of some problem, for instance, the crashment of server or client, 165 // because of some problem, for instance, the crashment of server or client,
166 // the user cannot log in any longer. 166 // the user cannot log in any longer.
167 userProfile.currentAgent = null; 167 userProfile.currentAgent.agentOnline = false;
168 m_userManager.CommitAgent(ref userProfile); 168 m_userManager.CommitAgent(ref userProfile);
169 169
170 // Reject the login 170 // Reject the login