As per http://msdn.microsoft.com/en-us/library/system.random%28v=vs.100%29.aspx, the .NET Random class is not thread-safe. If called by multiple threads at once, methods may return 0. Except for llRand(), other OpenSimulator code did not lock before calling a shared Random instance. This commit adds a ThreadSafeRandom class that extends Random but does internal locking so that it is thread-safe. This change is invisible to existing callers and the explicit locking in the llFrand() implementation is now redundant. |
||
|---|---|---|
| .. | ||
| Addons | ||
| ApplicationPlugins | ||
| Capabilities | ||
| ConsoleClient | ||
| Data | ||
| Framework | ||
| Region | ||
| Server | ||
| Services | ||
| Tests | ||
| Tools | ||