From 659c741ff5a3d13b4462d3ce906c6785bb296322 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 9 Apr 2013 23:15:01 +0100 Subject: [PATCH] Add more notes to async_call_method relating to UnsafeQueueUserWorkItem UnsafeQueueUserWorkItem is so called because it allows the calling code to escalate its security privileges. However, since we must already trust this code anyway in OpenSimulator this is not an issue. --- bin/OpenSimDefaults.ini | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index 1d2c0cff86..28c1db27e7 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -43,9 +43,14 @@ ; Sets the method that OpenSim will use to fire asynchronous ; events. Valid values are UnsafeQueueUserWorkItem, ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread. + ; ; SmartThreadPool is reported to work well on Mono/Linux, but ; UnsafeQueueUserWorkItem has been benchmarked with better ; performance on .NET/Windows + ; + ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security + ; privileges. However, as calling code is trusted anyway this is safe (if you set + ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons). async_call_method = SmartThreadPool ; Max threads to allocate on the FireAndForget thread pool