diff options
author | Roger Kirkman | 2016-05-05 15:21:15 +0100 |
---|---|---|
committer | Diva Canto | 2016-05-12 17:42:42 -0700 |
commit | 97a471cb357029e6f93c00ced5a7e6db79d783be (patch) | |
tree | d9c879594056c5e169beddc2a5417c8f968e062d | |
parent | According to the SL wiki, estate managers can set parcels for sale. Make it sew. (diff) | |
download | opensim-SC-97a471cb357029e6f93c00ced5a7e6db79d783be.zip opensim-SC-97a471cb357029e6f93c00ced5a7e6db79d783be.tar.gz opensim-SC-97a471cb357029e6f93c00ced5a7e6db79d783be.tar.bz2 opensim-SC-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.cs | 5 | ||||
-rw-r--r-- | ThirdParty/SmartThreadPool/SmartThreadPool.cs | 5 |
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); |