aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-03-15Protect the scriptmodulecomms interface.Mic Bowman1-1/+4
2012-03-15Adds a new script command 'modInvoke' to invoke registered functionsMic Bowman7-5/+270
from region modules. The LSL translator is extended to generate the modInvoke format of commands for directly inlined function calls. A region module can register a function Test() with the name "Test". LSL code can call that function as "Test()". The compiler will translate that invocation into modInvoke("Test", ...)
2012-03-15Remove property/field duplication in ScriptInstance where it's unnecessary.Justin Clark-Casey (justincc)2-170/+115
2012-03-15Simplify some logic in the ScriptInstance constructor - running is set to ↵Justin Clark-Casey (justincc)1-9/+3
false in both if/else branches
2012-03-15minor: correct indentation levelsJustin Clark-Casey (justincc)1-13/+12
2012-03-15Remove duplication of m_RunEvents and RunningJustin Clark-Casey (justincc)1-17/+11
2012-03-15Fix a problem where multiple near simultaneous calls to llDie() from ↵Justin Clark-Casey (justincc)2-20/+10
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.
2012-03-15Alleviate an issue where calling Thread.Abort() on script WorkItems can fail ↵Justin Clark-Casey (justincc)2-4/+15
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.
2012-03-13Teleports: bounce off repeated requests of teleporting the same agent. Some ↵Diva Canto1-0/+13
scripts do that, and that fails the whole thing.
2012-03-14refactor: rename ScriptInstance.m_CurrentResult to m_CurrentWorkItem to make ↵Justin Clark-Casey (justincc)3-25/+50
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
2012-03-13Datasnapshot: added "secret" to the registration/deregistration query so ↵Diva Canto2-33/+28
that data providers can verify authenticity if they want.
2012-03-12Add max thread and min thread information to "xengine status" region console ↵Justin Clark-Casey (justincc)2-0/+5
command
2012-03-12DataSnapshot: renamed gridserverURL to gatekeeperURL, and normalimzed the ↵Diva Canto1-2/+2
capitalization of 'name' to lower case, also in the same <grid> section.
2012-03-10Added osGetGridGatekeeperURI()Diva Canto3-0/+20
2012-03-10Fix TestSaveOarNoAssets() by not launch a no-assets request on a separate ↵Justin Clark-Casey (justincc)1-1/+1
thread. This was previous behaviour anyway.
2012-03-10minor: In IAR save, log when we start adding the control file rather than ↵Justin Clark-Casey (justincc)1-2/+3
saying afterwards that we added it.
2012-03-10minor: rearrange some save oar messages so they say what they're about to do ↵Justin Clark-Casey (justincc)1-8/+7
rather than what they've just done.
2012-03-10On OAR saving, try fetch assets serially rather than firing all the requests ↵Justin Clark-Casey (justincc)2-9/+18
at the asset service at once. This may (or may not) improve reliability for http://opensimulator.org/mantis/view.php?id=5898 Quick tests show that save time is the same.
2012-03-10Add ability to specify a default estate to be used when creating regions.Justin Clark-Casey (justincc)1-64/+152
This is configured in the new [Estates] section of OpenSim.ini. If a default estate is configured then all new regions are automatically joined to it instead of asking the user. If the default estate does not already exist then it is created. Current default behaviour remains the same - the user is asked for estate details when necessary. Thanks to Frenando Oliveira for the patch which I adapated further.
2012-03-09Factor out common default animations code into SLUtil. LLClientView now ↵Justin Clark-Casey (justincc)3-61/+4
makes use of the SLUtil copy via a method rather than each LLClientView loading a separate copy. As per opensim-users mailing list discussion.
2012-03-09fix for NPC not playing internal animationssatguru srivastava1-1/+36
2012-03-09More on inventory transfer hold ups:Diva Canto2-2/+77
- Added an inventory cache for caching root and system folders - Synchronized the remote inventory connector, so that all the remote inventory calls are serialized This will not make much difference in the hold ups. We'd have to move the FireAndForget high up to AddInventoryItem, but that opens up a can of worms regarding the notification of the recipient... the recipient would be notified of the offer before the items are effectively in his inventory, which could lead to surprises.
2012-03-09More on HG inventory transfers. Move the FireAndForget higher up.Diva Canto2-2/+2
2012-03-08More on the freeze on HG inventory transfers: spawn a threadlet on the ↵Diva Canto1-1/+1
functional asset posts so that the client threads doesn't freeze (but the network posts are serialized).
2012-03-09Simplify minimap coarse location code by just reference SP.AbsolutePositionJustin Clark-Casey (justincc)2-12/+3
This is rather than checking whether the avatar is sitting and doing its own calculation.
2012-03-09Get rid of unnecessary ParentID == 0 check on SP.Get_AbsolutePosition since ↵Justin Clark-Casey (justincc)1-2/+2
this is handled by the necessary ParentPart check
2012-03-09Use SP.ParentPart instead of ParentID in places where it's more efficient ↵Justin Clark-Casey (justincc)4-68/+32
(saving extra null checks, etc.) However, it looks like we should retain SP.ParentID since it's much easier to use that in places where another thread could change ParentPart to null. Otherwise one has to clumsily put ParentPart in a reference, etc. to avoid a race.
2012-03-09refactor: cleanup SP.HandleAgentSit so that everything is done within one if ↵Justin Clark-Casey (justincc)1-15/+8
(part != null), rather than having unnecessary multiple checks
2012-03-09Remove a race condition from SP.Set_AbsolutePosition where we assume the ↵Justin Clark-Casey (justincc)1-5/+5
ParentPart is still not null if the ParentID != 0 Another thread could come in and stand the avatar between those two instructions.
2012-03-09FireAndForget scripted rez - port from AvinationMelanie1-41/+46
2012-03-08Hold a ref to the prim we're sat on rather than querying scene each timeMelanie1-27/+29
the check for significant is carried out. Prevents a deadlock condition.
2012-03-08Move "change region" command into general categoryJustin Clark-Casey (justincc)1-1/+1
2012-03-08Uses shorter AddCommand form for "show estates"Justin Clark-Casey (justincc)1-1/+1
2012-03-08Display help commander topics in capitalized form - the commands themselves ↵Justin Clark-Casey (justincc)3-45/+14
are still lowercase. Also convert the estate commands to simply AddCommand() calls so that commands from two different modules can be placed in the same category
2012-03-08Change "help" to display categories/module list then "help ↵Justin Clark-Casey (justincc)26-143/+196
<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.
2012-03-07Always zero the PhysActor on dupes to prevent side effects on the orignal primMelanie1-4/+1
2012-03-07Stop individually deleting objects at the end of each ObjectTortureTest.Justin Clark-Casey (justincc)1-28/+21
We can now do this since the entire scene and all objects within it are now successfully gc'd at the end of these tests. This greatly improves the time taken to run each test (by reducing teardown time, not the time to actually do the test work that we're interested in). Slightly simplifies config read in Scene constructor to help facilitate this.
2012-03-07Add documentation to make more explicit the difference between OnRezScript ↵Justin Clark-Casey (justincc)1-5/+20
and OnNewScript in the event manager OnNewScript fires when a script is added to a scene OnRezScript fires when the script actually runs (i.e. after permission checks, state retrieval, etc.)
2012-03-06Remove static m_MainInstance in LocalGridServiceConnector.Justin Clark-Casey (justincc)1-24/+10
I believe this was originally required back when there could be two LocalGridServiceConnectors but this is no longer the case. Having such statics makes performance testing much more difficult since they prevent GC of objects unless static references are explicitly nulled.
2012-03-06Add sensor, dataserver requests, timer and listener counts to "xengine ↵Justin Clark-Casey (justincc)8-12/+136
status" command. This is for diagnostic purposes.
2012-03-06Remove unnecessary explicit ElapsedEventHandler in SimReporterJustin Clark-Casey (justincc)1-1/+1
2012-03-06Explictly close down the StatsReporter so that we can shutdown its timerJustin Clark-Casey (justincc)2-0/+8
This is another step necessary for the scene to be garbage collected between performance tests
2012-03-06Fix TestSyntaxError() and TestSyntaxErrorDeclaringVariableInForLoop()Justin Clark-Casey (justincc)1-8/+14
They were all failing assertions but the exceptions these threw were caught as expected Exceptions. I don't think we can easily distinguish these from the Exceptions that we're expecting. So for now we'll do some messy manually checking with boolean setting instead. This patch also corrects the assertions themselves.
2012-03-06Get all test methods in OpenSim.Region.ScriptEngine.Tests.dll to report that ↵Justin Clark-Casey (justincc)8-26/+228
they're running
2012-03-06Fix off by one error in script error reporting.Justin Clark-Casey (justincc)1-1/+1
2012-03-06Simplify NPCModuleTests code by putting the NPCModule in an instance ↵Justin Clark-Casey (justincc)1-61/+56
variable rather than making each test fetch it seperately. Also rename instance variables in the test to conform to naming standards and for understandability
2012-03-06Go back to setting appearance directly in NPCModule.SetAppearance() to fix ↵Justin Clark-Casey (justincc)2-9/+57
mantis 5914 The part reverted is from commit 2ebb421. Unfortunately, IAvatarFactoryModule.SetAppearance() does not transfer attachments. I'm not sure how to do this separately, unfortunately I'll need to leave it to Dan :) Regression test added for this case. Mantis ref: http://opensimulator.org/mantis/view.php?id=5914
2012-03-02comment out "[CAPS]: ScriptTaskInventory Request" log spamJustin Clark-Casey (justincc)1-1/+1
2012-03-02Remove outdated comment about checking attachment prims in ↵Justin Clark-Casey (justincc)1-3/+1
Scene.PipeEventsForScript()
2012-03-02Allow a script to receive events if its root prim is in an area where it's ↵Justin Clark-Casey (justincc)1-4/+1
allowed to run rather than checking its own prim. This allows scripts to run in child prims that are outside region boundaries. This is an interim patch applied from http://opensimulator.org/mantis/view.php?id=5899 though it does not resolve that bug Thanks tglion!