diff options
-rw-r--r-- | OpenSim/Framework/Util.cs | 15 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 2 |
2 files changed, 13 insertions, 4 deletions
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index 225d360..6be1722 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs | |||
@@ -1864,7 +1864,7 @@ namespace OpenSim.Framework | |||
1864 | 1864 | ||
1865 | public static void FireAndForget(System.Threading.WaitCallback callback) | 1865 | public static void FireAndForget(System.Threading.WaitCallback callback) |
1866 | { | 1866 | { |
1867 | FireAndForget(callback, null); | 1867 | FireAndForget(callback, null, null); |
1868 | } | 1868 | } |
1869 | 1869 | ||
1870 | public static void InitThreadPool(int minThreads, int maxThreads) | 1870 | public static void InitThreadPool(int minThreads, int maxThreads) |
@@ -1914,6 +1914,11 @@ namespace OpenSim.Framework | |||
1914 | 1914 | ||
1915 | public static void FireAndForget(System.Threading.WaitCallback callback, object obj) | 1915 | public static void FireAndForget(System.Threading.WaitCallback callback, object obj) |
1916 | { | 1916 | { |
1917 | FireAndForget(callback, obj, null); | ||
1918 | } | ||
1919 | |||
1920 | public static void FireAndForget(System.Threading.WaitCallback callback, object obj, string context) | ||
1921 | { | ||
1917 | WaitCallback realCallback; | 1922 | WaitCallback realCallback; |
1918 | 1923 | ||
1919 | bool loggingEnabled = (DebugFlags & DebugFlagsEnum.LogThreadPool) != 0; | 1924 | bool loggingEnabled = (DebugFlags & DebugFlagsEnum.LogThreadPool) != 0; |
@@ -1973,8 +1978,12 @@ namespace OpenSim.Framework | |||
1973 | } | 1978 | } |
1974 | 1979 | ||
1975 | if (loggingEnabled || (threadFuncOverloadMode == 1)) | 1980 | if (loggingEnabled || (threadFuncOverloadMode == 1)) |
1976 | m_log.DebugFormat("Queue threadfunc {0} (Queued {1}, Running {2}) {3}", | 1981 | { |
1977 | threadFuncNum, numQueued, numRunningThreadFuncs, GetFireAndForgetStackTrace(loggingEnabled)); | 1982 | m_log.DebugFormat("Queue threadfunc {0} (Queued {1}, Running {2}) {3}{4}", |
1983 | threadFuncNum, numQueued, numRunningThreadFuncs, | ||
1984 | (context == null) ? "" : ("(" + context + ") "), | ||
1985 | GetFireAndForgetStackTrace(loggingEnabled)); | ||
1986 | } | ||
1978 | 1987 | ||
1979 | switch (FireAndForgetMethod) | 1988 | switch (FireAndForgetMethod) |
1980 | { | 1989 | { |
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 86161c9..d9fe4e2 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -694,7 +694,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
694 | cinfo.AsyncRequests[packet.Type.ToString()]++; | 694 | cinfo.AsyncRequests[packet.Type.ToString()]++; |
695 | 695 | ||
696 | object obj = new AsyncPacketProcess(this, pprocessor.method, packet); | 696 | object obj = new AsyncPacketProcess(this, pprocessor.method, packet); |
697 | Util.FireAndForget(ProcessSpecificPacketAsync, obj); | 697 | Util.FireAndForget(ProcessSpecificPacketAsync, obj, packet.Type.ToString()); |
698 | result = true; | 698 | result = true; |
699 | } | 699 | } |
700 | else | 700 | else |