aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine (unfollow)
Commit message (Collapse)AuthorFilesLines
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)1-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.
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-14Allow llTeleportAgent to teleport gods when not in god modeMelanie1-1/+1
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-13Implement llSetPrimitiveParams for physics shape and material. AddMelanie4-0/+77
llSetPhysicsMaterial support.
2012-03-12Add max thread and min thread information to "xengine status" region console ↵Justin Clark-Casey (justincc)2-0/+5
command
2012-03-12Add AVATAR_MALE flag to return values of llGetAgentInfoMelanie2-0/+6
2012-03-10Added osGetGridGatekeeperURI()Diva Canto3-0/+20
2012-03-09Use SP.ParentPart instead of ParentID in places where it's more efficient ↵Justin Clark-Casey (justincc)1-17/+7
(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-09FireAndForget scripted rez - port from AvinationMelanie1-41/+46
2012-03-08Change "help" to display categories/module list then "help ↵Justin Clark-Casey (justincc)1-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.
2012-03-06Add sensor, dataserver requests, timer and listener counts to "xengine ↵Justin Clark-Casey (justincc)6-12/+111
status" command. This is for diagnostic purposes.
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-05Allow NPC to be removed by the owner of the parcel they're over.Melanie1-2/+9
Don't allow NPC creation unless the prim owner has rez rights.
2012-03-05Teleport users to the cornfield when they are teleported withMelanie1-3/+13
llTeleportAgentHome(). Don't try to teleport NPCs.
2012-03-05llListSort SL compatibility: When sorting strided list and the listMelanie1-2/+5
length is not a multiple of the stride, return the original list. Also, enforce that sort is ascending only when the ascending parameter is 1, and not when it is != 0
2012-03-05SL compatibility - return only points on segemtn, not ray in llCastRayMelanie1-0/+5
2012-03-02Move SenseRepeaters.Count check inside the SenseRepeatListLock.Justin Clark-Casey (justincc)1-4/+4
No methods in the List class are thread safe in the MS specification/documentation
2012-03-02lock SenseRepeatListLock when added a new sensor during script reconstitution.Justin Clark-Casey (justincc)1-1/+3
This is already being done in the other place where a sensor is added. Adding a sensor whilst another thread is iterating over the sensor list can cause a concurrency exception.
2012-03-01Adds an OSSL command for regular expression-based string replacement. ParametersMic Bowman3-0/+32
are osReplaceString(string source, string patter, string replace, integer count, integer start) The count parameter specifies the total number of replacements to make, -1 makes all replacements.
2012-03-01Fix indexing on string trimBlueWall1-1/+1
Thanks to zadark for pointing this out, smxy for deciphering the ?: operator and Plugh for the fix \o/ yay for IRC
2012-02-28Fix and hook up llTeleportAgentMelanie3-1/+7
2012-02-28Implement llTeleportAgentMelanie1-0/+22
2012-02-26Move KeyframeMotion from SOG to SOP because we can't persist it anyMelanie1-11/+11
other way because SOG doesn't technically exist in the DB
2012-02-26Fix deserialization of Buoyancy, Force and Torque. Remove debug from the newMelanie1-2/+2
code.
2012-02-26Implement llSetKeyframedMotion. No persistence, no region crossing. Yet.Melanie4-1/+158
2012-02-25PRIM_SCULPT_FLAG_INVERT, PRIM_SCULPT_FLAG_MIRROR implementedPixelTomsen2-4/+8
http://opensimulator.org/mantis/view.php?id=5763
2012-02-24llGetLinkMedia, llSetLinkMedia, llClearLinkMedia implementation mantis: ↵PixelTomsen3-27/+105
http://opensimulator.org/mantis/view.php?id=5756 http://opensimulator.org/mantis/view.php?id=5755 http://opensimulator.org/mantis/view.php?id=5754
2012-02-24Stop spurious scene loop startup timeout alarms for scenes with many prims.Justin Clark-Casey (justincc)1-1/+3
On the first frame, all startup scene objects are added to the physics scene. This can cause a considerable delay, so we don't start raising the alarm on scene loop timeouts until the second frame. This commit also slightly changes the behaviour of timeout reporting. Previously, a report was made for the very first timed out thread, ignoring all others until the next watchdog check. Instead, we now report every timed out thread, though we still only do this once no matter how long the timeout.
2012-02-24In osSetSpeed(), if no avatar for a uuid is found then don't attempt to set ↵Justin Clark-Casey (justincc)1-1/+3
speed.
2012-02-24llLinkSitTarget implementation http://wiki.secondlife.com/wiki/LlLinkSitTargetPixelTomsen3-5/+33
2012-02-23Add permission checks to scripted object movements, which didn't respect bansMelanie3-1/+59
and parcel settings until now. Add llSetRegionPos() function according to LL spec
2012-02-22Count agents for LSL instead of relying on SceneGraph to have the correctMelanie1-1/+7
value. Fixes a reported glitch.
2012-02-22Adjust sit target and the llSetLinkPrimitiveParams sit position hackMelanie1-14/+46
to match SL.
2012-02-21Fix:LINK_ROOT flag for llGetLinkName() by SinglePrimPixelTomsen1-1/+1
2012-02-17Make osNpcStopAnimation() call AvatarStopAnimation() rather than ↵Justin Clark-Casey (justincc)1-1/+1
AvatarPlayAnimation()
2012-02-16Fix some logic mistakes where firstly osNpcCreate() without options was ↵Justin Clark-Casey (justincc)2-3/+18
creating npcs sensed as agents and secondly the OS_NPC_SENSE_AS_AGENT option was having the opposite effect. Hopefully makes progress on addressing http://opensimulator.org/mantis/view.php?id=5872
2012-02-14Prevent object loss and positioning outside the region with failed object simMelanie1-3/+9
crossings
2012-02-10Fix an npc delete race condition with LSL sensors where an initial presence ↵Justin Clark-Casey (justincc)1-9/+20
check could succeed but then the npc removed before the subequent npc check. The resulting null would cause an exception. We now check for null before looking at SenseAsAgent. Hopefully fixes http://opensimulator.org/mantis/view.php?id=5872
2012-02-09minor: put in commented out logging statements for future reuseJustin Clark-Casey (justincc)1-1/+7
2012-02-08Push more NPC stuff into threadsMelanie1-8/+18
2012-02-07Add a regression test to compile and start a script. Remove ↵Justin Clark-Casey (justincc)5-26/+113
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.
2012-02-06Experimental. Expand Fire & Forget for NPC deleteMelanie1-7/+7
2012-02-04Add missing RCERR_UNKNOWN and RCERR_SIM_PERF_LOW LSL constants that would ↵Justin Clark-Casey (justincc)1-0/+2
eventually be used by llCastRay(), though OpenSim does not use these yet.