aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Util.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2016-07-08Fixed the order of two file names used in a warning.Kevin Cozens1-1/+1
2015-12-09coment out odd DoubleQueue class codeUbitUmarov1-1/+2
2015-12-03fix a 1m diference in regions view range estimationsUbitUmarov1-1/+1
2015-11-27coment out warnings that do a messed around number of threadpool workitens ↵UbitUmarov1-1/+3
and number of active threads ( at least when a pool is in use)
2015-11-25 suspend the use of DisableSimulator, that is causing teleport and crossing ↵UbitUmarov1-1/+1
issues
2015-11-10 fix cut points of UTF-8 stringsUbitUmarov1-10/+28
2015-11-10 add a StringToBytes variant that takes Maximum lenght as argument.UbitUmarov1-0/+50
2015-10-28 fix cut points of UTF-8 stringsUbitUmarov1-10/+28
2015-09-04add a GetTimeStampMS method, this returns a time stamp in miliSeconds with ↵UbitUmarov1-0/+11
the resolution avaiable for StopWatchs. Value in double since it can be large (as machine uptime in high resolution ticks)
2015-09-02seems to compile ( tests comented out)UbitUmarov1-68/+0
2015-08-30more on tps and crossingsUbitUmarov1-7/+16
2015-08-11Better handling of invalid XML: a) prevent infinite loop on EOF; b) better ↵Oren Hurvitz1-0/+10
logging If the XML was truncated for some reason then ExecuteReadProcessors() would get into an infinite loop, using high CPU. Now it detects EOF (and several other error cases) and aborts. The rest of the changes just improve logging of XML in case of errors, so that we can see what the bad XML is.
2015-08-07Have osAvatarName2Key check the cache first, even for foreign usersOren Hurvitz1-1/+24
Another change: removed the second call to userManager.AddUser(). UserManagementModule won't modify an existing record.
2015-07-23Removed unused code related to DNS lookupsOren Hurvitz1-36/+0
2015-05-27llListRandomize() wasn't very randomCinder1-0/+51
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-02-16Add NaN and Infinity tests for SOP Velocity and Acceleration setters.dahlia1-0/+16
2015-01-04Added overloaded LoadArchSpecificWindowsDll, to help addins load native ↵Diva Canto1-2/+7
libraries.
2015-01-03Added utility function that simplifies configuration loading of all addins.Diva Canto1-0/+57
2014-11-25Add "show threadpool calls active" console debug command.Justin Clark-Casey (justincc)1-1/+27
This shows named threadpool calls (excluding timer and network calls) that are currently queued or running. Also shows total of labelled and any anonymous calls.
2014-11-25Label all threadpool calls being made in core OpenSimulator. This is to add ↵Justin Clark-Casey (justincc)1-10/+13
problem diagnosis. "show threadpool calls" now also returns named (labelled), anonymous (unlabelled) and total call stats.
2014-11-25Add "show threadpool calls" command to show count of all labelled ↵Justin Clark-Casey (justincc)1-1/+15
smartthreadpool calls
2014-10-13on util thread pool reduce the min number of threads, increase theUbitUmarov1-1/+1
maximum and increase the idle time before release to OS
2014-09-05For monitoring purposes, start non-timeout tasks (which do not currently use ↵Justin Clark-Casey (justincc)1-30/+0
a threadpool) via Watchdog.RunInThread() rather than Util.RunThreadNoTimeout() The functionality is the same but this allow us to monitor such tasks via "show threads" and abort them for test purposes, etc. Also extends thread names to provide more info (e.g. SendInitialDataToClient says what client the task is for).
2014-08-29Ignore whitespace when reading serialized XML objects.Justin Clark-Casey (justincc)1-5/+5
This was previously effectively being done by XmlDocument in the multiple passes through the XML. This change tells XmlReader to ignore whitespace. This also means changing arguments to use XmlReader instead of XmlTextReader (a descendent of XmlReader) directly. XmlReader.Create() has been the recommend way to create XML readers since .NET 2.0 as per MS SDK and is the only way to specific ignore whitespace settings.
2014-08-12fix the damm thingUbitUmarov1-6/+13
2014-07-21Better logging of threadpool activity in Overload mode: if we didn't log ↵Oren Hurvitz1-1/+7
"Queue threadfunc" for a particular thread then don't log "Run threadfunc" or "End threadfunc" for that thread either.
2014-07-21Close streams immediately when we finish using themOren Hurvitz1-40/+13
2014-07-14Use thread-safe version of .NET Random as the SDK class is not thread-safe.Justin Clark-Casey (justincc)1-1/+1
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.
2014-07-02Actually call Close() for shared region modules when the simulator is being ↵Justin Clark-Casey (justincc)1-1/+6
shutdown. Adds regression test for this case.
2014-04-25Restore overload mode accidentally disabled in a prior commit. Add a newMelanie1-2/+4
config option, LogOverloads, to log when a thread pool overload occurs. This option defaults to "True" because the logging data is useful for diagnosing threading issues.
2014-04-24Apply logging flag to a spammy message that may have been overlooked.Melanie1-1/+1
No one needs to see every thread launch.....
2014-04-02Added assets service method AssetsExist(), which returns whether the given ↵Oren Hurvitz1-0/+50
list of assets exist. This method is used to optimize sending assets with embedded assets: e.g., when a Hypergrid visitor takes an item into the inventory.
2014-03-26- Increased the threadpool timeout to 10 minutesOren Hurvitz1-1/+1
- Changed a few places that launch long-lasting threads to skip the timeout altogether
2014-03-25Improved logging of HTTP requestsOren Hurvitz1-0/+40
- MemoryBuffer isn't seekable, so we can't log it. Log the string instead. - Handle compressed streams - Don't attempt to dump binary data. Either don't log it at all (if we know it's binary), or at least convert non-ASCII characters to ASCII. - Log responses to HTTP requests - Use the same log prefix for all of these log messages ("[LOGHTTP]"), to make them easy to see at a glance - Increased the snippet length to 200 (80 doesn't show enough), and add "..." only if the message was actually truncated Resolves http://opensimulator.org/mantis/view.php?id=6949
2014-03-25Fixed unit tests due to changes in the threadpoolOren Hurvitz1-8/+19
2014-03-25Run slow operations in a separate thread, instead of using FireAndForget ↵Oren Hurvitz1-0/+23
(which has a 1-minute timeout) Resolves http://opensimulator.org/mantis/view.php?id=6945
2014-03-25Changed LogThreadPool to have 4 logging levels. Added console command "debug ↵Oren Hurvitz1-19/+40
threadpool level" to set the logging level. Resolves http://opensimulator.org/mantis/view.php?id=6945
2014-03-25Added a watchdog to abort slow threads in the main thread poolOren Hurvitz1-11/+269
If a task in the thread pool hangs then it will permanently take up one of the threads. If this happens repeatedly then the thread pool will become exhausted and OpenSim will fail. This watchdog terminates threads in the thread pool that have been executing for over a minute (which probably means they're hung). Resolves http://opensimulator.org/mantis/view.php?id=6945
2014-03-25LogThreadPool: when the thread is for ProcessPacketMethod, also log the ↵Oren Hurvitz1-3/+12
packet type Resolves http://opensimulator.org/mantis/view.php?id=6945
2014-03-25Refactored DebugFlagsEnumOren Hurvitz1-5/+14
Resolves http://opensimulator.org/mantis/view.php?id=6945
2014-03-25Automatically start logging FireAndForget activity if the threadpool is fullOren Hurvitz1-4/+19
Resolves http://opensimulator.org/mantis/view.php?id=6945
2014-03-25Added debug flag: LogThreadPool. It makes us log every use of the main ↵Oren Hurvitz1-29/+114
threadpool. Resolves http://opensimulator.org/mantis/view.php?id=6945
2014-03-24Refactored: ExternalRepresentationUtils should be the only place where the ↵Oren Hurvitz1-2/+7
"CreatorData" field is calculated, to ensure uniformity Resolves http://opensimulator.org/mantis/view.php?id=6933
2014-03-24Get the full viewer name even if it's (incorrectly) sent in the 'Channel' fieldOren Hurvitz1-0/+32
Recent versions of Firestorm and Singularity have started sending the viewer name in the 'Channel' field, leaving only their version number in the 'Viewer' field. So we need to search both of these fields for the viewer name. This resolves http://opensimulator.org/mantis/view.php?id=6952
2014-03-19Revert "Simplify DoubleQueue to eliminate redundant sempahore work."Justin Clark-Casey (justincc)1-7/+27
This reverts commit 52b7b40034ddbb21d06b11ddc4eb6d766b0f616d. Got the semantics wrong - the sempahore is required so that the blocking thread waits for a signal.
2014-03-19Simplify DoubleQueue to eliminate redundant sempahore work.Justin Clark-Casey (justincc)1-27/+7
Exclusion is already guaranteed by the lock on m_syncRoot. Semaphore could not allow more than one thread in these sections anyway since the underlying SDK structures are not thread-safe.
2014-03-18Lock m_syncRoot on DoubleQueue.Count. This is not documented as a ↵Justin Clark-Casey (justincc)1-1/+5
thread-safe operation
2014-02-26Add Util method to load OpSys env varsDev Random1-83/+87
2014-02-14Log information about which function, request data and agent ID triggered an ↵Justin Clark-Casey (justincc)1-0/+24
XmlRpcGroupsServiceConnector error
2014-01-19Fix casting error for float type INI file parameter parsing.Robert Adams1-1/+1