mirror of
https://github.com/opensim/opensim.git
synced 2026-08-11 03:45:35 +08:00
* Switched all operations on the list of clients that could be either sync or async to use Scene.ForEachClient() instead of referencing ClientManager directly
* Added a new [Startup] config option called use_async_when_possible to signal how to run operations that could be either sync or async * Changed Scene.ForEachClient to respect use_async_when_possible * Fixing a potential deadlock in Parallel.ForEach by locking on a temporary object instead of the enumerator (which may be shared across multiple invocations on ForEach). Thank you diva
This commit is contained in:
@@ -44,6 +44,13 @@
|
||||
; performance on .NET/Windows
|
||||
;async_call_method = SmartThreadPool
|
||||
|
||||
; There are several operations on large collections (such as
|
||||
; the current avatar list) that can be run synchronously or
|
||||
; in parallel. Running in parallel should increase performance
|
||||
; on a multi-core system, but will make debugging more
|
||||
; difficult if something deadlocks or times out
|
||||
use_async_when_possible = true
|
||||
|
||||
; Max threads to allocate on the FireAndForget thread pool
|
||||
; when running with the SmartThreadPool option above
|
||||
MaxPoolThreads = 15
|
||||
|
||||
Reference in New Issue
Block a user