diff options
author | Melanie | 2014-04-25 21:34:29 +0100 |
---|---|---|
committer | Melanie | 2014-04-25 21:34:29 +0100 |
commit | a108fcac957dd2283fb8904207addda6dc7582f0 (patch) | |
tree | 9ac4b3fb57273ae32f67c8c9878adb74d9fc8593 /OpenSim/Framework/Util.cs | |
parent | Adjust permissions to work hand in hand with what the viewer believes they are. (diff) | |
download | opensim-SC-a108fcac957dd2283fb8904207addda6dc7582f0.zip opensim-SC-a108fcac957dd2283fb8904207addda6dc7582f0.tar.gz opensim-SC-a108fcac957dd2283fb8904207addda6dc7582f0.tar.bz2 opensim-SC-a108fcac957dd2283fb8904207addda6dc7582f0.tar.xz |
Restore overload mode accidentally disabled in a prior commit. Add a new
config option, LogOverloads, to log when a thread pool overload occurs.
This option defaults to "True" because the logging data is useful for
diagnosing threading issues.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Framework/Util.cs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index c8a0c68..740e55a 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs | |||
@@ -127,12 +127,14 @@ namespace OpenSim.Framework | |||
127 | /// 3 = full stack trace, including common threads | 127 | /// 3 = full stack trace, including common threads |
128 | /// </summary> | 128 | /// </summary> |
129 | public static int LogThreadPool { get; set; } | 129 | public static int LogThreadPool { get; set; } |
130 | public static bool LogOverloads { get; set; } | ||
130 | 131 | ||
131 | public static readonly int MAX_THREADPOOL_LEVEL = 3; | 132 | public static readonly int MAX_THREADPOOL_LEVEL = 3; |
132 | 133 | ||
133 | static Util() | 134 | static Util() |
134 | { | 135 | { |
135 | LogThreadPool = 0; | 136 | LogThreadPool = 0; |
137 | LogOverloads = true; | ||
136 | } | 138 | } |
137 | 139 | ||
138 | private static uint nextXferID = 5000; | 140 | private static uint nextXferID = 5000; |
@@ -2172,7 +2174,7 @@ namespace OpenSim.Framework | |||
2172 | { | 2174 | { |
2173 | long numRunning = numRunningThreadFuncs; | 2175 | long numRunning = numRunningThreadFuncs; |
2174 | 2176 | ||
2175 | if (m_ThreadPool != null) | 2177 | if (m_ThreadPool != null && LogOverloads) |
2176 | { | 2178 | { |
2177 | if ((threadFuncOverloadMode == 0) && (numRunning >= m_ThreadPool.MaxThreads)) | 2179 | if ((threadFuncOverloadMode == 0) && (numRunning >= m_ThreadPool.MaxThreads)) |
2178 | { | 2180 | { |
@@ -2193,7 +2195,7 @@ namespace OpenSim.Framework | |||
2193 | threadInfo.StackTrace = full; | 2195 | threadInfo.StackTrace = full; |
2194 | threadInfo.LogThread = ShouldLogThread(partial); | 2196 | threadInfo.LogThread = ShouldLogThread(partial); |
2195 | 2197 | ||
2196 | if (loggingEnabled && threadInfo.LogThread) | 2198 | if (threadInfo.LogThread) |
2197 | { | 2199 | { |
2198 | m_log.DebugFormat("Queue threadfunc {0} (Queued {1}, Running {2}) {3}{4}", | 2200 | m_log.DebugFormat("Queue threadfunc {0} (Queued {1}, Running {2}) {3}{4}", |
2199 | threadFuncNum, numQueued, numRunningThreadFuncs, | 2201 | threadFuncNum, numQueued, numRunningThreadFuncs, |