* Allowing LLSD logins to do silent logout of last hung session on standalone only, following the already implemented XMLRPC behavior

trunk
Arthur Valadares 2009-07-07 23:07:57 +00:00
parent 4badac3c90
commit 7e8bfc4618
1 changed files with 17 additions and 8 deletions

View File

@ -197,7 +197,7 @@ namespace OpenSim.Framework.Communications.Services
{ {
// This is behavior for standalone (silent logout of last hung session) // This is behavior for standalone (silent logout of last hung session)
m_log.InfoFormat( m_log.InfoFormat(
"[LOGIN]: User {0} {1} is already logged in, not notifying user, kicking old presence and starting new login.", "[LOGIN]: XMLRPC User {0} {1} is already logged in, not notifying user, kicking old presence and starting new login.",
firstname, lastname); firstname, lastname);
} }
} }
@ -422,8 +422,9 @@ namespace OpenSim.Framework.Communications.Services
// try to tell the region that their user is dead. // try to tell the region that their user is dead.
LogOffUser(userProfile, " LLSD You were logged off because you logged in from another location"); LogOffUser(userProfile, " LLSD You were logged off because you logged in from another location");
// Reject the login if (m_warn_already_logged)
{
// This is behavior for for grid, reject login
m_log.InfoFormat( m_log.InfoFormat(
"[LOGIN END]: LLSD Notifying user {0} {1} that they are already logged in", "[LOGIN END]: LLSD Notifying user {0} {1} that they are already logged in",
userProfile.FirstName, userProfile.SurName); userProfile.FirstName, userProfile.SurName);
@ -431,6 +432,14 @@ namespace OpenSim.Framework.Communications.Services
userProfile.CurrentAgent = null; userProfile.CurrentAgent = null;
return logResponse.CreateAlreadyLoggedInResponseLLSD(); return logResponse.CreateAlreadyLoggedInResponseLLSD();
} }
else
{
// This is behavior for standalone (silent logout of last hung session)
m_log.InfoFormat(
"[LOGIN]: LLSD User {0} {1} is already logged in, not notifying user, kicking old presence and starting new login.",
userProfile.FirstName, userProfile.SurName);
}
}
// Otherwise... // Otherwise...
// Create a new agent session // Create a new agent session