* Allow SmartThreadPool to be initialized without setting max stack size (like the original implementation)

* Only initialize Util's SmartThreadPool if it is actually being used
* No longer initializing Util's SmartThreadPool with a custom max stack size. From MSDN: "Avoid using this constructor overload. The default stack size used by the Thread(ThreadStart) constructor overload is the recommended stack size for threads."
This commit is contained in:
John Hurliman
2009-10-22 01:30:12 -07:00
parent 1e71e3f910
commit 2f394b7e7e
4 changed files with 27 additions and 12 deletions

View File

@@ -67,7 +67,7 @@ namespace OpenSim
IConfig startupConfig = m_config.Source.Configs["Startup"];
Util.SetMaxThreads(startupConfig.GetInt("MaxPoolThreads", 15));
int stpMaxThreads = 15;
if (startupConfig != null)
{
@@ -100,8 +100,13 @@ namespace OpenSim
FireAndForgetMethod asyncCallMethod;
if (!String.IsNullOrEmpty(asyncCallMethodStr) && Utils.EnumTryParse<FireAndForgetMethod>(asyncCallMethodStr, out asyncCallMethod))
Util.FireAndForgetMethod = asyncCallMethod;
stpMaxThreads = startupConfig.GetInt("MaxPoolThreads", 15);
}
if (Util.FireAndForgetMethod == FireAndForgetMethod.SmartThreadPool)
Util.InitThreadPool(stpMaxThreads);
m_log.Info("[OPENSIM MAIN]: Using async_call_method " + Util.FireAndForgetMethod);
}