aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-01-16Implement co-operative script termination if termination comes during a ↵Justin Clark-Casey (justincc)1-3/+23
script wait event (llSleep(), etc.) This makes use of EventWaitHandles since various web references indicate that Thread.Interrupt() can also cause runtime instability. If co-op termination is enabled, then termination sets the wait handle instead of waiting for a timeout before possibly aborting the thread. This allows the script to cleanly terminate if it's in a llSleep/LL function delay or the next time it enters such a wait without any timeout period. Co-op termination is not yet testable since checking for termination request within loops that never trigger a wait is not yet implemented. This commit, unlike 1b5c41c, passes the wait handle as an extra parameter through IScript.Initialize() instead of passing IScriptInstance itself.
2013-01-16Revert "Implement co-operative script termination if termination comes ↵Justin Clark-Casey (justincc)1-23/+3
during a script wait event (llSleep(), etc.)" Doing this as a favour to Melanie. This will be back with passing the wait handles directly to the api. This reverts commit 1b5c41c14ad11325be249ea1cce3c65d4d6a89be.
2013-01-16Implement co-operative script termination if termination comes during a ↵Justin Clark-Casey (justincc)1-3/+23
script wait event (llSleep(), etc.) This makes use of EventWaitHandles since various web references indicate that Thread.Interrupt() can also cause runtime instability. If co-op termination is enabled, then termination sets the wait handle instead of waiting for a timeout before possibly aborting the thread. This allows the script to cleanly terminate if it's in a llSleep/LL function delay or the next time it enters such a wait without any timeout period. Co-op termination is not yet testable since checking for termination request within loops that never trigger a wait is not yet implemented.
2013-01-14move resit fix to ScenePresence.cs and allow for requesting sit on objects ↵dahlia1-0/+4
other than the object currently sat on
2013-01-11Fix exception reporting in SceneObjectPart so it logs what the exception is ↵Robert Adams1-2/+2
rather than just saying it happened.
2013-01-11Save attachments on detach/exit if a contained script state has been changed.Justin Clark-Casey (justincc)1-0/+3
This involves making Attachments module listen for start/stop script changes. It also involves removing the script from the region on detach in the same manner as every other DeleteSceneObject() call rather than simply stopping it This is necessary tue to the bad assymetry of start and stop script triggers but it appears to be the correct behaviour anyway, as detached objects are completely gone from the sim. Not just in a state where their scripts have been stopped.
2013-01-10Move scene debug commands into separate module. Command changes from "debug ↵Justin Clark-Casey (justincc)2-94/+102
scene <key> <value>" to "debug scene set <key> <value>" to accomodate future settings
2013-01-10refactor: route the final scene backup through the same code that handles ↵Justin Clark-Casey (justincc)1-10/+1
periodic backup This is rather than making unnecessary duplicate checks that the SOG later performs again.
2013-01-10Add "debug scene pbackup true|false" console command. This enables or ↵Justin Clark-Casey (justincc)1-9/+30
disable periodic scene backup. For debug purposes. If false, scene is still saved on shutdown.
2013-01-09Revert "Prevent empty Anim Packs"Melanie1-12/+0
This reverts commit 5561333668f61f043cdfc0733a4eb50a1bcfb14e.
2013-01-09Revert "Fix sequence id fr default anim"Melanie1-1/+1
This reverts commit a775931a0cec9f65748c6e20dd2695edcbe21b7f.
2013-01-08Fix sequence id fr default animMelanie1-1/+1
2013-01-08Prevent empty Anim PacksMelanie1-0/+12
2013-01-04Fix llGetLinkKey() to return the last sat avatar as the last link number.Justin Clark-Casey (justincc)2-46/+68
As per http://wiki.secondlife.com/wiki/LlGetLinkKey This is done by keeping a scene-object wide list of sitters. This also fixes bugs in this function where linknums 0 and 1 weren't treated properly if there were sitting avatars on a single prim. This also fixes a minor race condition for multiple concurrent sitters on a prim with no current sitters by locking on the object-wide list rather than individual sop lists Addresses http://opensimulator.org/mantis/view.php?id=6477
2013-01-02Fixed several problems with the Sun: some settings didn't work, or were ↵Oren Hurvitz2-35/+6
inconsistently used. - The sun position is always calculated by combining the sun settings in the Region and Estate. This fixes the problem that 'UseEstateSun' didn't work. - To remove ambiguity, the EstateToolsSunUpdate event no longer accepts the sun's position as parameters. That's because the position is always calculated from the Region and Estate settings. - Use only the 'FixedSun' flag to determine whether the sun is fixed; not the 'UseGlobalTime' flag. - Don't change the region's 'SunPosition' field according to the sun's position: this field is used only to set the position when using a FixedSun. (The 'SunVector' field does get updated according to the sun's position in the sky)
2012-12-28ScenePresence passes the avatar rotation down to the physics engine. This ↵Robert Adams1-0/+4
will be a no-op for ODE but enables asymmetrical avatars for BulletSim.
2012-12-27Add check to always push terse updates for presences that have new ↵Robert Adams1-3/+8
velocities of zero.
2012-12-18Replace axis rotation numeric constants (STATUS_ROTATE_XYZ) with symbols. ↵Robert Adams2-6/+15
Also made it so llSetStatus() can individually enable disable rotation axi using the bitmask of flags.
2012-12-16BulletSim: experimentally remove unit displacement from prim border crossing ↵Robert Adams1-2/+13
test. This seems to cause border crossing to be sensed either a little early or a little late depending on which directin the object is moving. If border crossings become totally borked or someone remembers why this was displacement was done, revert this change.
2012-12-15minor: If the physics module tells us that an object has gone out of bounds, ↵Justin Clark-Casey (justincc)1-2/+5
more helpfully log the name, id, position and region of that object.
2012-12-14minor: Add commented out log lines to ScenePresenceAnimator for future debug ↵Justin Clark-Casey (justincc)1-1/+10
use (such as logging anim pack contents sent to clients)
2012-12-14Fix issue where calling llVolumeDetect(FALSE) would not remove phantom flag, ↵Justin Clark-Casey (justincc)2-2/+42
causing subsequent issues if physics was re-enabled. Added regression tests Addresses http://opensimulator.org/mantis/view.php?id=6365
2012-12-13Simplify sit code a bit by determining correct animation in HandleSit ↵Dan Lake1-30/+6
instead of HandleSitRequest. This eliminates m_nextSitAnimation, an unneeded state-saving variable in ScenePresence
2012-12-09Switched the order by which foreign inventory and foreign assets are brought ↵Diva Canto1-6/+4
in, to avoid race conditions on the client.
2012-12-09UserManagementModule: search the local cache for names too.Diva Canto1-1/+1
Inventory transfers: don't do async on asset transfers or now.
2012-12-07Use a thread abort safe version of OpenMetaverse.DoubleDictionary with the ↵Justin Clark-Casey (justincc)1-1/+3
aim of avoiding OpenSimulator problems due to script thread aborts. When an object is removed, its scripts are stopped and then the thread running them is aborted if stop takes too long. However, it appears that aborting a thread at just the wrong moment when it is obtaining a ReaderWriterLockSlim lock can leave this lock in an inconsistent state. One symptom of this is that mono leaps to 100% cpu and a vm thread dump reveals lots of threads waiting for a ReaderWriterLockSlim lock without any thread actually holding it. This is probably the same problem as encountered originally in commit 12cebb12 This commit looks to plaster this problem by putting lock obtaining methods inside finally blocks which should be uninterruptible by thread aborts.
2012-12-04minor: Put Scene.PhysicsRequestAsset() into standard C# xml format.Justin Clark-Casey (justincc)1-4/+11
2012-12-03XmlRpcGridRouterBlueWall1-0/+1
Flesh out XmlRpcGridRouter to reap unused channels from gateway when scripts or objects are removed, or when the llCloseRemoteDataChannel is called. See: http://http://forge.opensimulator.org/gf/project/xmlrpcrouter/ or https://github.com/BlueWall/XmlRpcRouter for php gateway and test code.
2012-11-24Combine TestDeleteSceneObjectAsync() with TestDeRezSceneObject() as they are ↵Justin Clark-Casey (justincc)3-106/+83
functionally identical. Move TestDeleteSceneObjectAsync() and TestDeleteSceneObjectAsyncToUserInventory() from SceneObjectBasicTests -> SceneObjectDeRezTests
2012-11-24Fix regression TestDeleteSceneObjectAsyncToUserInventory by adding a ↵Justin Clark-Casey (justincc)1-7/+12
BasicInventoryAccessModule() and re-enable in test suite.
2012-11-24Consistenly make NUnit test cases inherit from OpenSimTestCase which ↵Justin Clark-Casey (justincc)17-17/+17
automatically turns off any logging enabled between tests
2012-11-23minor: Make note in log if scene was restarted due to an unrecoverable ↵Justin Clark-Casey (justincc)1-1/+6
physics error
2012-11-23Fix problem where restarting the currently selected region would stop ↵Justin Clark-Casey (justincc)2-31/+25
various console commands (e.g. "show users") from working. This was because the "currently selected" scene reference was being left as the dead scene instead of the restarted Scene object.
2012-11-23Add regression test for checking scene close when SceneManager is asked to closeJustin Clark-Casey (justincc)1-0/+58
2012-11-23Fix regression where we stopped closing scenes on simulator exit.Justin Clark-Casey (justincc)1-0/+7
If we don't do this, then these scenes don't get deregistered from the grid, amongst other things. Regression was introduced in commit 8c130bc (Mon Nov 12 22:50:28 2012 +0000)
2012-11-20Minor formatting for 0962a35d and a few one-line comments as to why that ↵Justin Clark-Casey (justincc)1-8/+7
code is there
2012-11-20Fix movetotarget on mega regions.Iain Oliver1-3/+21
2012-11-14Added AssemblyInfos to every dll in the OpenSim.Region namespace.Diva Canto1-0/+33
2012-11-12Completely remove the IRegionModule interfaceMelanie1-55/+0
2012-11-12Stop closing old style modulesMelanie1-9/+0
2012-11-12Remove the old style module loader and all references to itMelanie4-350/+12
2012-11-11document & 80-character width terminal formattingSignpostMarv1-36/+78
Signed-off-by: Diva Canto <diva@metaverseink.com>
2012-11-11moving windlight-sources to correct namespace-named folder (world); add ↵PixelTomsen1-0/+33
LightShare as Interface Signed-off-by: Diva Canto <diva@metaverseink.com>
2012-11-10One more module converted: CloudModule.Diva Canto1-1/+1
2012-11-1080 character-width terminal formatting of IDialogModule interface, removing ↵SignpostMarv1-23/+28
superfluous whitespace & line-endings.
2012-11-10Documenting parameters of methods on the IDialogModule interfaceSignpostMarv1-33/+73
2012-11-10Uncomment SceneObjectBasicTests.TestDeleteSceneObjectAsyncToUserInventory() ↵Justin Clark-Casey (justincc)2-35/+70
and make it compile again Not currently in test suite since not yet working. Also add method doc to Scene.DeRezObjects()
2012-11-09Converted the WindModule to the new region module interface (38 to go). Also ↵Diva Canto1-1/+1
added both the WindModule and the SunModule to the Plugin manifest.
2012-11-09Converted the SunModule to the new region module interface. (39 to go...)Diva Canto1-1/+1
2012-11-09marking IRegionModule interface as obsolete via System.ObsoleteAttribute, ↵SignpostMarv1-0/+2
intentionally triggering a bunch of warnings in compiler output in hopes of encouraging other developers to refactor built-in modules when they have free time.