aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Instance (unfollow)
Commit message (Collapse)AuthorFilesLines
2010-04-19Stopgap measure. Disable the recent script startup changes until I can cure theMelanie1-1/+1
race condition.
2010-04-19All scripts are now created suspended and are only unsuspended when the objectMelanie1-0/+14
is fully rezzed and all scripts in it are instantiated. This ensures that link messages will not be lost on rez/region crossing and makes heavily scripted objects reliable.
2010-02-12Apply last two patches from http://opensimulator.org/mantis/view.php?id=3522Justin Clark-Casey (justincc)1-1/+1
These patch should allow people using systems that do not have their locale set to En_US or similar to use OpenSim without suffering effects such as being a million miles up in the air on login. The problem was caused by parsing strings without forcing that parse to be En_US (hence different decimal and digit group symbols were causing problems). Thanks very much to VikingErik for doing the legwork on this fix and phacelia for spotting it in the first place.
2009-12-22FINALLY! Script compile errors now appear in the script error pane,Melanie1-1/+1
not in a funky debug window.
2009-11-26Remove the old (Remoting) region crossing code. Fix the new code toMelanie1-5/+0
pass script state and assembly again properly. Reintroduce respecting tht TrustBinaries flag. Changes the interregion protocol! No version bump because it was broken anyway, so with a version mismatch it will simply stay broken, but not crash. Region corssing still doesn't work because there is still monkey business with both rezzed prims being pushed across a border and attached prims when walking across a border. Teleport is untested by may work.
2009-11-24Drop all locking of part.TaskInventory in favour of a ReaderWriterLockSlim ↵CasperW1-11/+11
lock handler. This gives us: - Faster prim inventory actions. Multiple threads can read at once. - Fixes the known prim inventory thread locks - In the event of a thread lock occurring, it will usually self heal after sixty seconds with an error message in the console
2009-11-23Swap the locking of m_EventQueue and m_Script to ease locks on script ↵CasperW1-115/+119
inventory operations
2009-11-23Added some [DebuggerNonUserCode] modifiers to functions that throw ↵CasperW1-1/+4
EventAbortException() to ease debugging on Visual Studio
2009-11-23Formatting cleanup.Jeff Ames1-12/+12
2009-10-29More performance improvements to XEngine script loadingJohn Hurliman1-12/+12
2009-10-29* Misc. formatting cleanup for the previous patchJohn Hurliman1-3/+5
* Added the new AppDomainLoading variable to the [XEngine] section in the example config
2009-10-29OptimizationsDan Lake1-10/+18
2009-10-17Add support for display of the script compilation errors in the script editor'sMelanie1-7/+6
debug pane. This will still use DEBUG_CHANNEL currently, since it is not fully implemented. This also removes the "Compiled successfully" message that pops up in the viewer.
2009-10-01Formatting cleanup.Jeff Ames1-4/+4
2009-09-14fix to preserve UTF8 encoding in saved script state.dr scofield (aka dirk husemann)1-4/+4
2009-09-06remove warningJustin Clark-Casey (justincc)1-1/+2
2009-08-14Remove one more sponsor referenceMelanie1-1/+1
2009-08-14Remove the script sponsor logic because scripts are timing out again.Melanie1-6/+1
This needs to be looked into. This commit, unfortunately, reinstates a memory leak in regions that see significant script fluctuation, e.g. lots of scripted attachments, or script development.
2009-08-07Experimental! Implement ISponsor in ScriptInstanceMelanie1-12/+7
2009-08-07Another stab at cmickeyb's patch for script GC.Melanie1-7/+14
Moved the Close() for the appdomain-hosted parts into a new destructor on ScriptInstance.
2009-08-07Revert the XEngine memleak patch, it causes premature GC.Melanie1-18/+7
This matches behavior seen with an earlier attempt to do this, apparently the sponsor mechanism does't work in Mono
2009-08-06|From: James J Greensky <jame.j.greensky@intel.com>Melanie1-7/+18
|Date: Wed, 5 Aug 2009 09:51:52 -0700 |Subject: [PATCH] Closed two major memory leaks for scripted objects | |Two major memory leaks for the scripted objects were fixed |- One leak had to do with remoting acrossing app domains. When a script and | its controlling agent communicate across an application boundary, it calls | functions on a stub proxy object that then invokes the remote method on | the object in the other app domain. These stub objects (two for each script) | were setup to have infinate lifetimes and were never being garbage collected. |- The second leak was the result of adding a scene object part instance method | to a scene event and never removing it. This cause the event's delegate list | to maintain a link to that object which is then never freed as the scene event | object is never destroyed. Patch applied, please direct feedback to me. Possible issue: Longtime idle scripts like vendors may fail.
2009-08-04 Slight change to state management for attach scheduling.Alan Webb1-10/+7
Signed-off-by: dr scofield (aka dirk husemann) <drscofield@xyzzyxyzzy.net>
2009-08-04 This change adds support for the attach event in scripts.Alan Webb1-0/+16
[1] Added a new OnAttach event to Scene/EventManager [2] Hooked up existing attach event handler in XEngine. [3] Modified SceneGraph and Scene.Inventory to trigger attach events at the appropriate places. I was forced to distribut the changes across two files because of the way attach processing is distributed across the two files. [4] In the case of RezSingleAttachmentFromInventory it is necessary to handle event scheduling in a special way. There is no synchronous path available, so the fact that this object is attached, and who it is attached to, is cached when the ScriptInstance is created. When the script is started, the attached handler is driven after on_rez (but before changed, this should be reviewed). Signed-off-by: dr scofield (aka dirk husemann) <drscofield@xyzzyxyzzy.net>
2009-08-04Add plumbing for the SceneObjectDeleter to wait for the script engine toMelanie1-0/+5
allow final deletion of objects. Meant to support the attach(NULL_KEY) event,
2009-06-06Correct an error where the config file name was always considered to be aMelanie Thielker1-0/+1
local file. This caused llHttpRequest and llSetInventoryPermsMask to fail on regions that load their config from a web server
2009-06-01Minor: Change OpenSim to OpenSimulator in older copyright headers and ↵Jeff Ames2-2/+2
LICENSE.txt.
2009-05-22cleaning out warnings.Dr Scofield1-9/+12
NOTE: we currently have a gazillion warnings caused stuff flagged as "obsolete" (OGS1 stuff) --- what's up with that?
2009-05-18From: Alan Webb <alan_webb> & Dr Scofield<drscofield@xyzzyxyzzy.net>Dr Scofield1-20/+20
Disable use of log4net in script domains to avoid mono 2.4 aborts.
2009-04-15Convert both script engines to new region module format. Add proper unloadMelanie Thielker1-0/+7
handling to XEngine. Add needed stubs to DotNetEngine.
2009-04-12Actually remove the script if it tries to remove itself.Melanie Thielker1-4/+10
Fixes Mantis #2929
2009-04-05Thanks BlueWall for a patch that adds Hypergrid dynamic linking to ↵diva1-0/+1
osTeleportAgent. Fixes mantis #3408.
2009-03-26Avoid writing script state to the filesystem if the state has not changed.Melanie Thielker1-14/+19
Remove the unneccessary double check that was only used to provide a meaningless warning message for a corner case.
2009-02-22Mantis#3218. Thank you kindly, TLaukkan (Tommil) for a patch that:Charles Krinke1-4/+3
* Added log4net dependency to physxplugin in prebuild.xml. * Added missing m_log fields to classes. * Replaced Console.WriteLine with appropriate m_log.Xxxx * Tested that nant test target runs succesfully. * Tested that local opensim sandbox starts up without errors.
2009-02-22Refactor log4net logger handling in script engine. (#3148)Jeff Ames1-18/+18
2009-02-20* Consistently lock part.TaskInventory as pointed out in ↵Justin Clarke Casey1-7/+21
http://opensimulator.org/mantis/view.php?id=3159 * Not locking causes enumeration exceptions as described in this matis * part.TaskInventory needs to be locked for every access as it's a dictionary * Extra locking will hopefully not cause any major issues - in places where the enumeration of the dictionary performs other lock or long running operations, the dictionary is cloned instead
2009-02-19Force plugin state update when region crossingMelanie Thielker1-0/+4
2009-02-19Try this, then :) remove just one line from script serialization, Melanie Thielker1-1/+0
hunting the bug
2009-02-19Refix the fix, adding a forgotten lineMelanie Thielker1-0/+1
2009-02-19Attempt to fix a Windows only race in thread terminationMelanie Thielker1-1/+8
2009-02-10this is step 2 of 2 of the OpenSim.Region.Environment refactor.Dr Scofield2-2/+2
NOTHING has been deleted or moved off to forge at this point. what has happened is that OpenSim.Region.Environment.Modules has been split in two: - OpenSim.Region.CoreModules: all those modules that are either directly or indirectly referenced from other OpenSim packages, or that provide functionality that the OpenSim developer community considers core functionality: CoreModules/Agent/AssetTransaction CoreModules/Agent/Capabilities CoreModules/Agent/TextureDownload CoreModules/Agent/TextureSender CoreModules/Agent/TextureSender/Tests CoreModules/Agent/Xfer CoreModules/Avatar/AvatarFactory CoreModules/Avatar/Chat/ChatModule CoreModules/Avatar/Combat CoreModules/Avatar/Currency/SampleMoney CoreModules/Avatar/Dialog CoreModules/Avatar/Friends CoreModules/Avatar/Gestures CoreModules/Avatar/Groups CoreModules/Avatar/InstantMessage CoreModules/Avatar/Inventory CoreModules/Avatar/Inventory/Archiver CoreModules/Avatar/Inventory/Transfer CoreModules/Avatar/Lure CoreModules/Avatar/ObjectCaps CoreModules/Avatar/Profiles CoreModules/Communications/Local CoreModules/Communications/REST CoreModules/Framework/EventQueue CoreModules/Framework/InterfaceCommander CoreModules/Hypergrid CoreModules/InterGrid CoreModules/Scripting/DynamicTexture CoreModules/Scripting/EMailModules CoreModules/Scripting/HttpRequest CoreModules/Scripting/LoadImageURL CoreModules/Scripting/VectorRender CoreModules/Scripting/WorldComm CoreModules/Scripting/XMLRPC CoreModules/World/Archiver CoreModules/World/Archiver/Tests CoreModules/World/Estate CoreModules/World/Land CoreModules/World/Permissions CoreModules/World/Serialiser CoreModules/World/Sound CoreModules/World/Sun CoreModules/World/Terrain CoreModules/World/Terrain/DefaultEffects CoreModules/World/Terrain/DefaultEffects/bin CoreModules/World/Terrain/DefaultEffects/bin/Debug CoreModules/World/Terrain/Effects CoreModules/World/Terrain/FileLoaders CoreModules/World/Terrain/FloodBrushes CoreModules/World/Terrain/PaintBrushes CoreModules/World/Terrain/Tests CoreModules/World/Vegetation CoreModules/World/Wind CoreModules/World/WorldMap - OpenSim.Region.OptionalModules: all those modules that are not core modules: OptionalModules/Avatar/Chat/IRC-stuff OptionalModules/Avatar/Concierge OptionalModules/Avatar/Voice/AsterixVoice OptionalModules/Avatar/Voice/SIPVoice OptionalModules/ContentManagementSystem OptionalModules/Grid/Interregion OptionalModules/Python OptionalModules/SvnSerialiser OptionalModules/World/NPC OptionalModules/World/TreePopulator
2009-02-06This changeset is the step 1 of 2 in refactoringDr Scofield2-4/+4
OpenSim.Region.Environment into a "framework" part and a modules only part. This first changeset refactors OpenSim.Region.Environment.Scenes, OpenSim.Region.Environment.Interfaces, and OpenSim.Region.Interfaces into OpenSim.Region.Framework.{Interfaces,Scenes} leaving only region modules in OpenSim.Region.Environment. The next step will be to move region modules up from OpenSim.Region.Environment.Modules to OpenSim.Region.CoreModules and then sort out which modules are really core modules and which should move out to forge. I've been very careful to NOT BREAK anything. i hope i've succeeded. as this is the work of a whole week i hope i managed to keep track with the applied patches of the last week --- could any of you that did check in stuff have a look at whether it survived? thx!
2009-01-28From: Christopher Yeoh <yeohc@au1.ibm.com>Dr Scofield1-33/+49
This changeset fixes a race condition where a script (XEngine run) can startup before a reference is added to it in all of the required places in the XEngine class. The effect of this is that a script can sometimes on startup miss script events. For example a script which starts up and initialises itself from a notecard may never receive the dataserver event containing the notecard information. The patch isn't as clean as I'd like - I've split the constructor of ScriptInstance up so it does everything it did before except call Startup and post events like state_entry and on_rez. An Init function has been added which is called after the ScriptInstance object has been added to the necessary data structures in XEngine. Happy to rework it if someone suggests a better way of doing it.
2008-12-21An initial implementation of llMinEventDelay in XEngine.idb2-1/+46
Not implemented yet in DotNetEngine. Fixes Mantis #2830
2008-12-21Persist script permission mask and granteridb2-0/+50
2008-12-02Remove some of the XEngine chattinessMelanie Thielker1-1/+1
2008-11-29Comment the ScriptSponsor and restore the indefinite lifetime forMelanie Thielker1-3/+3
scripts until that can be better debugged
2008-11-27* minor: remove mono compiler warningsJustin Clarke Casey1-2/+2
2008-11-26Attempt to give script objects a proper lease time (DNE and xengine). Relies ↵Tedd Hansen1-0/+11
on GC. Also removed lease for LSL_Api as it strictly speaking should not be MarshalByRef. Or should it? If so I broke scripting! :)
2008-11-21* refactor: Rip out SOP inventory from the partial into a separate classJustin Clarke Casey1-4/+4
* SceneObjectPartInventory.cs isn't a particularly good name but it's probably not got a long life * A proper inventory interface to follow * Parallel changes for other inventory partial classes to follow at a later date