add option for Fireandforget not timeout (our access to main smartThreadPool)

This commit is contained in:
UbitUmarov
2017-06-13 18:39:42 +01:00
parent f33a871d61
commit 5ce15566ac
2 changed files with 9 additions and 9 deletions

View File

@@ -182,9 +182,9 @@ namespace OpenSim.Framework.Monitoring
/// <param name="callback"></param>
/// <param name="obj"></param>
/// <param name="name">The name of the job. This is used in monitoring and debugging.</param>
public static void RunInThreadPool(System.Threading.WaitCallback callback, object obj, string name)
public static void RunInThreadPool(System.Threading.WaitCallback callback, object obj, string name, bool timeout = true)
{
Util.FireAndForget(callback, obj, name);
Util.FireAndForget(callback, obj, name, timeout);
}
/// <summary>
@@ -231,10 +231,8 @@ namespace OpenSim.Framework.Monitoring
JobEngine.QueueJob(name, () => callback(obj));
else if (canRunInThisThread)
callback(obj);
else if (mustNotTimeout)
RunInThread(callback, obj, name, log);
else
Util.FireAndForget(callback, obj, name);
Util.FireAndForget(callback, obj, name, !mustNotTimeout);
}
private static void HandleControlCommand(string module, string[] args)