aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into careminsterMelanie2012-03-201-4/+4
|\ | | | | | | | | Conflicts: OpenSim/Data/MySQL/MySQLXAssetData.cs
| * Stop console command "xengine status" throwing an exception if there are no ↵Justin Clark-Casey (justincc)2012-03-191-4/+4
| | | | | | | | | | | | scripts in a region. Addresses http://opensimulator.org/mantis/view.php?id=5940
* | Merge branch 'master' into careminsterMelanie2012-03-181-2/+59
|\ \ | |/ | | | | | | | | | | Conflicts: OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs OpenSim/Region/Framework/Scenes/Scene.cs
| * refactor: separate out console and status report generation parts of XEngineJustin Clark-Casey (justincc)2012-03-161-1/+6
| |
| * Aggregate script execution times by linksets rather than individual prims.Justin Clark-Casey (justincc)2012-03-161-3/+2
| | | | | | | | This is for the top scripts report.
| * Replace script-lines-per-second with the script execution time scaled by its ↵Justin Clark-Casey (justincc)2012-03-161-0/+53
| | | | | | | | | | | | | | | | | | | | | | measurement period and an idealised frame time. The previous lines-per-second measurement used for top scripts report was inaccurate, since lines executed does not reflect time taken to execute. Also, every fetch of the report would reset all the numbers limiting its usefulness and we weren't even guaranteed to see the top 100. The actual measurement value should be script execution time per frame but XEngine does not work this way. Therefore, we use actual script execution time scaled by the measurement period and an idealised frame time. This is still not ideal but gives reasonable results and allows scripts to be compared. This commit moves script execution time calculations from SceneGraph into IScriptModule implementations.
* | Merge branch 'master' into careminsterMelanie2012-03-151-6/+11
|\ \ | |/ | | | | | | | | | | Conflicts: OpenSim/Region/Framework/Scenes/Scene.cs OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
| * Fix a problem where multiple near simultaneous calls to llDie() from ↵Justin Clark-Casey (justincc)2012-03-151-10/+9
| | | | | | | | | | | | | | | | | | | | multiple scripts in the same linkset can cause unnecessary thread aborts. The first llDie() could lock Scene.m_deleting_scene_object. The second llDie() would then wait at this lock. The first llDie() would go on to remove the second script but always abort it since the second script's WorkItem would not go away. Easiest solution here is to remove the m_deleting_scene_object since it's no longer justified - we no longer lock m_parts but take a copy instead. This also requires an adjustment in XEngine.OnRemoveScript not to use instance.ObjectID instead when firing the OnObjectRemoved event.
| * Alleviate an issue where calling Thread.Abort() on script WorkItems can fail ↵Justin Clark-Casey (justincc)2012-03-151-1/+5
| | | | | | | | | | | | | | | | | | | | to release locks, resulting in a crippled simulator. This seems to be a particular problem with ReaderWriterLockSlim, though other locks can be affected as well. It has been seen to happen when llDie() is called in a linkset running more than one script. Alleviation here means supplying a ScriptInstance.Stop() timeout of 1000ms rather than 0ms, to give events a chance to complete. Also, we check the IsRunning status at the top of the ScriptInstance.EventProcessor() so that another event doesn't start in the mean time. Ultimately, a better solution may have to be found since a long-running event would still exceed the timeout and be aborted.
* | Merge branch 'master' into careminsterMelanie2012-03-141-0/+2
|\ \ | |/ | | | | | | | | Conflicts: OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
| * refactor: rename ScriptInstance.m_CurrentResult to m_CurrentWorkItem to make ↵Justin Clark-Casey (justincc)2012-03-141-1/+0
| | | | | | | | | | | | it more understandable as to what it is and what it does (hold a thread pool work item for a waiting of in-progress event) Also add other various illustrative comments
| * Add max thread and min thread information to "xengine status" region console ↵Justin Clark-Casey (justincc)2012-03-121-0/+2
| | | | | | | | command
* | Merge branch 'master' into careminsterMelanie2012-03-081-7/+7
|\ \ | |/
| * Change "help" to display categories/module list then "help ↵Justin Clark-Casey (justincc)2012-03-081-7/+7
| | | | | | | | | | | | | | | | | | | | | | <category/module>" to display commands in a category. This is to deal with the hundred lines of command splurge when one previously typed "help" Modelled somewhat on the mysql console One can still type help <command> to get per command help at any point. Categories capitalized to avoid conflict with the all-lowercase commands (except for commander system, as of yet). Does not affect command parsing or any other aspects of the console apart from the help system. Backwards compatible with existing modules.
* | Merge branch 'master' into careminsterMelanie2012-03-071-0/+15
|\ \ | |/ | | | | | | Conflicts: OpenSim/Region/Framework/Scenes/Scene.cs
| * Add sensor, dataserver requests, timer and listener counts to "xengine ↵Justin Clark-Casey (justincc)2012-03-061-0/+15
| | | | | | | | | | | | status" command. This is for diagnostic purposes.
* | Merge branch 'master' into careminsterMelanie2012-02-071-1/+21
|\ \ | |/ | | | | | | | | Conflicts: OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
| * Add a regression test to compile and start a script. Remove ↵Justin Clark-Casey (justincc)2012-02-071-2/+21
| | | | | | | | | | | | | | | | Path.GetDirectoryName when getting assembly loading path in Compiler.CompileFromDotNetText(). The Path.GetDirectoryName call in Compiler.CompileFromDotNetText is unnecessary since AppDomain.CurrentDomain.BaseDirectory is always a directory. Later path concatenation is already done by Path.Combine() which handles any trailing slash. Removing Path.GetDirectoryName() will not affect the runtime but allows NUnit to work since it doesn't add a trailing slash to AppDomain.CurrentDomain.BaseDirectory.
* | Merge branch 'master' into careminsterMelanie2012-02-011-8/+52
|\ \ | |/ | | | | | | Conflicts: OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
| * Lay out script status in property per row format, since getting too long for ↵Justin Clark-Casey (justincc)2012-02-011-6/+12
| | | | | | | | console lines.
| * Add count of events queued for a particular script in "scripts show" console ↵Justin Clark-Casey (justincc)2012-02-011-4/+9
| | | | | | | | command
| * Make script console commands only show for selected region.Justin Clark-Casey (justincc)2012-02-011-0/+9
| |
| * Implement "xengine status" console command to show various xengine statsJustin Clark-Casey (justincc)2012-02-011-4/+28
| |
* | Merge branch 'master' into careminsterMelanie2012-01-141-40/+47
|\ \ | |/ | | | | | | | | | | | | Conflicts: OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs OpenSim/Region/Framework/Scenes/SceneObjectPart.cs OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
| * Extend scripts show command to accept a single item UUID parameter to ↵Justin Clark-Casey (justincc)2012-01-141-40/+47
| | | | | | | | | | | | display one script's status Usage is now scripts show [<script-item-uuid>]
* | Merge branch 'master' into bigmergeMelanie2011-11-191-5/+20
|\ \ | |/ | | | | | | | | Conflicts: OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
| * If the entire simulator is shutting down then don't bother to unload the ↵Justin Clark-Casey (justincc)2011-11-171-7/+19
| | | | | | | | | | | | | | scripts from the appdomain in XEngine. All the other actions (script state save, etc.) still occur. This makes shutdown where there are many scripts vastly quicker.
* | Merge branch 'master' into bigmergeMelanie2011-10-271-1/+4
|\ \ | |/ | | | | | | | | | | | | | | Conflicts: OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
| * For now, comment out error message on new script engine console commands.Justin Clark-Casey (justincc)2011-10-271-1/+4
| | | | | | | | This causes false positives if a simulator has more than 1 region and the current region is 'root' since this sends the command separately to each region and each region has its own XEngine
* | Merge commit '601dabb1b73a894e4f2f61abe6e9053d380008cd' into bigmergeMelanie2011-10-251-36/+109
|\ \ | |/
| * Extend scripts stop/start/suspend/resume console commands to allow action on ↵Justin Clark-Casey (justincc)2011-10-191-67/+91
| | | | | | | | | | | | a single script by giving the script item id (which can be found via scripts show). Not an ideal way to do this on a region with many scripts. Needs refinement later.
| * Add "scripts stop" and "scripts start" console commands.Justin Clark-Casey (justincc)2011-10-191-2/+48
| | | | | | | | | | These will stop all running scripts and start all stopped scripts respectively. A stopped script does not save any events for later processing.
| * minor: improve command help on scripts suspend/resumeJustin Clark-Casey (justincc)2011-10-191-2/+5
| |
* | Merge commit '5607fd3af828846291de3358067bb1214619489e' into bigmergeMelanie2011-10-251-0/+8
|\ \ | |/ | | | | | | | | Conflicts: OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
| * Fix resume scripts.Justin Clark-Casey (justincc)2011-10-191-1/+1
| | | | | | | | | | On resume, we need to place requeue the script for event processing if there are any events on the queue. Also need to do this under m_Script lock in order to avoid a race
* | Merge commit '3cf7fb4eca2ad57835311e8098868f2571709392' into bigmergeMelanie2011-10-251-0/+48
|\ \ | |/ | | | | | | | | Conflicts: OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
| * Add "scripts suspend" and "scripts resume" commands.Justin Clark-Casey (justincc)2011-10-191-1/+49
| | | | | | | | | | These aim currently to suspend and resume all scripts. However, resume isn't currently working due to what looks like a bug in resume functionality itself.
* | Merge commit 'b45219065c7a81b3ec488b3a6734773c34268618' into bigmergeMelanie2011-10-251-2/+2
|\ \ | |/ | | | | | | Conflicts: OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
| * on log and "show scripts" messages, show script item UUID rather than asset UUIDJustin Clark-Casey (justincc)2011-10-191-4/+4
| | | | | | | | The item ID is the one required for any script manipulation on the command line, so I think it's somewhat more useful to show this bearing in mind the limited space available
* | Merge commit '116fbe8258e336be3f6ac1e11119214629799faa' into bigmergeMelanie2011-10-251-2/+20
|\ \ | |/ | | | | | | Conflicts: OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
| * add current script status to "scripts show" command (running, suspended, etc.)Justin Clark-Casey (justincc)2011-10-191-2/+20
| |
* | Merge commit 'ecad9f9fd589f90d1c7a20faf14af0304804b616' into bigmergeMelanie2011-10-251-0/+28
|\ \ | |/
| * Add "show scripts" command to show all scripts currently known to the script ↵Justin Clark-Casey (justincc)2011-10-191-0/+28
| | | | | | | | | | | | engine in the current region. Also added synonym of "scripts show"
* | Merge commit 'ee84c0589ccca1e7f3216ca1395c3002b773f30f' into bigmergeMelanie2011-10-251-0/+5
|\ \ | |/ | | | | | | Conflicts: OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
| * Don't execute rest of code in XEngine.RemoveRegion() and Close() if the ↵Justin Clark-Casey (justincc)2011-10-141-0/+6
| | | | | | | | module is disabled.
* | Merge commit 'ea7366ddc6f0e13519589fcaa3729fd36b5eef79' into bigmergeMelanie2011-10-251-1/+1
|\ \ | |/ | | | | | | Conflicts: OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
| * When shutting down XEngine, log how many scripts are being shutdown so the ↵Justin Clark-Casey (justincc)2011-10-121-1/+4
| | | | | | | | user knows why they are waiting.
* | Bring us up to date.Tom2011-09-141-1/+4
|\ \ | |/
| * minor: if the script engine fails to find a prim for a script, also print ↵Justin Clark-Casey (justincc)2011-09-121-1/+1
| | | | | | | | out that prim's local id in the error message.
| * Delay loading scripts until the scene has finished loadingOren Hurvitz2011-09-091-0/+3
| |