aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs28
1 files changed, 21 insertions, 7 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 5bd781c..8c4ee41 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -111,6 +111,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
111 protected IUrlModule m_UrlModule = null; 111 protected IUrlModule m_UrlModule = null;
112 protected Dictionary<UUID, UserInfoCacheEntry> m_userInfoCache = 112 protected Dictionary<UUID, UserInfoCacheEntry> m_userInfoCache =
113 new Dictionary<UUID, UserInfoCacheEntry>(); 113 new Dictionary<UUID, UserInfoCacheEntry>();
114 protected int EMAIL_PAUSE_TIME = 20; // documented delay value for smtp.
114 115
115 protected Timer m_ShoutSayTimer; 116 protected Timer m_ShoutSayTimer;
116 protected int m_SayShoutCount = 0; 117 protected int m_SayShoutCount = 0;
@@ -127,6 +128,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
127 m_item = item; 128 m_item = item;
128 m_debuggerSafe = m_ScriptEngine.Config.GetBoolean("DebuggerSafe", false); 129 m_debuggerSafe = m_ScriptEngine.Config.GetBoolean("DebuggerSafe", false);
129 130
131 LoadLimits(); // read script limits from config.
132
133 m_TransferModule =
134 m_ScriptEngine.World.RequestModuleInterface<IMessageTransferModule>();
135 m_UrlModule = m_ScriptEngine.World.RequestModuleInterface<IUrlModule>();
136
137 AsyncCommands = new AsyncCommandManager(ScriptEngine);
138 }
139
140 /* load configuration items that affect script, object and run-time behavior. */
141 private void LoadLimits()
142 {
130 m_ScriptDelayFactor = 143 m_ScriptDelayFactor =
131 m_ScriptEngine.Config.GetFloat("ScriptDelayFactor", 1.0f); 144 m_ScriptEngine.Config.GetFloat("ScriptDelayFactor", 1.0f);
132 m_ScriptDistanceFactor = 145 m_ScriptDistanceFactor =
@@ -139,12 +152,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
139 m_ScriptEngine.Config.GetInt("NotecardLineReadCharsMax", 255); 152 m_ScriptEngine.Config.GetInt("NotecardLineReadCharsMax", 255);
140 if (m_notecardLineReadCharsMax > 65535) 153 if (m_notecardLineReadCharsMax > 65535)
141 m_notecardLineReadCharsMax = 65535; 154 m_notecardLineReadCharsMax = 65535;
142 155 // load limits for particular subsystems.
143 m_TransferModule = 156 IConfig SMTPConfig;
144 m_ScriptEngine.World.RequestModuleInterface<IMessageTransferModule>(); 157 if ((SMTPConfig = m_ScriptEngine.ConfigSource.Configs["SMTP"]) != null) {
145 m_UrlModule = m_ScriptEngine.World.RequestModuleInterface<IUrlModule>(); 158 // there's an smtp config, so load in the snooze time.
146 159 EMAIL_PAUSE_TIME = SMTPConfig.GetInt("email_pause_time", EMAIL_PAUSE_TIME);
147 AsyncCommands = new AsyncCommandManager(ScriptEngine); 160 }
148 } 161 }
149 162
150 public override Object InitializeLifetimeService() 163 public override Object InitializeLifetimeService()
@@ -3127,6 +3140,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3127 3140
3128 public virtual void llSleep(double sec) 3141 public virtual void llSleep(double sec)
3129 { 3142 {
3143// m_log.Info("llSleep snoozing " + sec + "s.");
3130 m_host.AddScriptLPS(1); 3144 m_host.AddScriptLPS(1);
3131 Thread.Sleep((int)(sec * 1000)); 3145 Thread.Sleep((int)(sec * 1000));
3132 } 3146 }
@@ -3413,7 +3427,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3413 } 3427 }
3414 3428
3415 emailModule.SendEmail(m_host.UUID, address, subject, message); 3429 emailModule.SendEmail(m_host.UUID, address, subject, message);
3416 ScriptSleep(15000); 3430 ScriptSleep(EMAIL_PAUSE_TIME * 1000);
3417 } 3431 }
3418 3432
3419 public void llGetNextEmail(string address, string subject) 3433 public void llGetNextEmail(string address, string subject)