aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorRoger Kirkman2016-05-05 15:21:15 +0100
committerDiva Canto2016-05-12 17:42:42 -0700
commit97a471cb357029e6f93c00ced5a7e6db79d783be (patch)
treed9c879594056c5e169beddc2a5417c8f968e062d
parentAccording to the SL wiki, estate managers can set parcels for sale. Make it sew. (diff)
downloadopensim-SC_OLD-97a471cb357029e6f93c00ced5a7e6db79d783be.zip
opensim-SC_OLD-97a471cb357029e6f93c00ced5a7e6db79d783be.tar.gz
opensim-SC_OLD-97a471cb357029e6f93c00ced5a7e6db79d783be.tar.bz2
opensim-SC_OLD-97a471cb357029e6f93c00ced5a7e6db79d783be.tar.xz
Fix crash due to setting Thread.name after thread start.
Signed-off-by: Diva Canto <diva@metaverseink.com>
-rw-r--r--OpenSim/Framework/Monitoring/WorkManager.cs5
-rw-r--r--ThirdParty/SmartThreadPool/SmartThreadPool.cs5
2 files changed, 6 insertions, 4 deletions
diff --git a/OpenSim/Framework/Monitoring/WorkManager.cs b/OpenSim/Framework/Monitoring/WorkManager.cs
index d1a74ce..a7a03a0 100644
--- a/OpenSim/Framework/Monitoring/WorkManager.cs
+++ b/OpenSim/Framework/Monitoring/WorkManager.cs
@@ -121,7 +121,8 @@ namespace OpenSim.Framework.Monitoring
121 Thread thread = new Thread(start); 121 Thread thread = new Thread(start);
122 thread.Priority = priority; 122 thread.Priority = priority;
123 thread.IsBackground = isBackground; 123 thread.IsBackground = isBackground;
124 124 thread.Name = name;
125
125 Watchdog.ThreadWatchdogInfo twi 126 Watchdog.ThreadWatchdogInfo twi
126 = new Watchdog.ThreadWatchdogInfo(thread, timeout, name) 127 = new Watchdog.ThreadWatchdogInfo(thread, timeout, name)
127 { AlarmIfTimeout = alarmIfTimeout, AlarmMethod = alarmMethod }; 128 { AlarmIfTimeout = alarmIfTimeout, AlarmMethod = alarmMethod };
@@ -129,7 +130,7 @@ namespace OpenSim.Framework.Monitoring
129 Watchdog.AddThread(twi, name, log:log); 130 Watchdog.AddThread(twi, name, log:log);
130 131
131 thread.Start(); 132 thread.Start();
132 thread.Name = name; 133
133 134
134 return thread; 135 return thread;
135 } 136 }
diff --git a/ThirdParty/SmartThreadPool/SmartThreadPool.cs b/ThirdParty/SmartThreadPool/SmartThreadPool.cs
index 615518e..9043d3a 100644
--- a/ThirdParty/SmartThreadPool/SmartThreadPool.cs
+++ b/ThirdParty/SmartThreadPool/SmartThreadPool.cs
@@ -689,9 +689,10 @@ namespace Amib.Threading
689#if !(_SILVERLIGHT) && !(WINDOWS_PHONE) 689#if !(_SILVERLIGHT) && !(WINDOWS_PHONE)
690 workerThread.Priority = _stpStartInfo.ThreadPriority; 690 workerThread.Priority = _stpStartInfo.ThreadPriority;
691#endif 691#endif
692 workerThread.Start();
693 workerThread.Name = string.Format("STP:{0}:{1}", Name, _threadCounter); 692 workerThread.Name = string.Format("STP:{0}:{1}", Name, _threadCounter);
694 ++_threadCounter; 693 workerThread.Start();
694
695 ++_threadCounter;
695 696
696 // Add it to the dictionary and update its creation time. 697 // Add it to the dictionary and update its creation time.
697 _workerThreads[workerThread] = new ThreadEntry(this); 698 _workerThreads[workerThread] = new ThreadEntry(this);