aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-01-28From: Christopher Yeoh <yeohc@au1.ibm.com>Dr Scofield1-8/+11
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.
2009-01-28From: Christopher Yeoh <yeohc@au1.ibm.com>Dr Scofield1-0/+24
Adding Oarfileloaded and EmptyScriptCompileQueue event support which allows (with a module) for programmatic notification of when a region objects and scripts are up and running after a server start or load-oar.
2009-01-19* Progressive texture patch + PriorityQueue put into the LLClient namespace.Teravus Ovares1-46/+56
* Updates LibOMV to r2362
2009-01-10Revert progressive texture patch from r8001 until issues can be addressedDahlia Trimble1-56/+46
2009-01-10Thanks jhurliman for a patch that implements progressive texture downloading ↵Dahlia Trimble1-1/+11
- Mantis #2655
2008-12-28Insert a 15 seconds delay before the script engine starts loading scriptsMelanie Thielker1-0/+7
2008-12-21An initial implementation of llMinEventDelay in XEngine.idb1-0/+7
Not implemented yet in DotNetEngine. Fixes Mantis #2830
2008-12-17* Adding some locks to XEngine's m_PrimObjects which were prone to 'the ↵Teravus Ovares1-23/+34
collection was modified'
2008-12-06Fix an ArgumentNullException when moving a DotNet scripted object to the ↵idb1-2/+2
next region
2008-11-21* refactor: Rip out SOP inventory from the partial into a separate classJustin Clarke Casey1-2/+2
* 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
2008-11-19Reapply r7369 r7367 r7366 r7370 r7381. This brings it back up to the newMelanie Thielker1-1/+2
libOMV.
2008-11-19Reverting the texture sending patch and the new libOMV. This makes thisMelanie Thielker1-2/+1
release a direct descendant of the stable 7364, with all the features and none of the issues. This omits the following patch chain: r7383 r7382 r7381 r7377 r7375 r7373 r7372 r7370 r7369 r7368 r7367 r7366
2008-11-17* Remove Appdomain code in XEngine.csJustin Clarke Casey1-12/+2
2008-11-17* Update libOMV to r2359. This is necessary for the progressive texture patchJustin Clarke Casey1-1/+12
* Update libopenjpeg as well for this patch. * Appears to be okay on a very short sniff test * Source code will be placed in opensim-libs shortly
2008-11-13Make scripts in objects rezzed from script compile synchronously to closeMelanie Thielker1-35/+12
a timing gap. Still not 100%, but getting there
2008-11-09Script region crossing. This has not user functionality, but lays all theMelanie Thielker1-5/+4
groundwork.
2008-11-08Refactor IEventReceiver back into IScriptEngineMelanie Thielker1-0/+16
2008-11-01* refactor: Convert most non SOP methods to use SOG.IsAttachment rather than ↵Justin Clarke Casey1-1/+1
SOP.IsAttachment
2008-10-17* Added missing dependencies that was causing build to fail in windows. ↵Teravus Ovares1-0/+1
Mono doesn't seem to care.
2008-10-16Fixed (mono-)script handling for SL viewer 1.21:Homer Horwitz1-2/+11
- Added two missing caps (UpdateScriptAgent, UpdateScriptTask) - Added one missing EventQueue event (ScriptRunningReply) - Changed DNE and XEngine to use this new event As we only use the mono engine anyway, the "Mono" checkbox is set by default but doesn't have any function.
2008-10-07Restore "friendly errors" to the XEngineMelanie Thielker1-1/+1
2008-10-03Fix: Mantis#2326: Fix: privilege escalation through attach from groundMelanie Thielker1-1/+1
Fix: objects being duplicated inventory on detach. Fix: Mad jumping around of attachments while editing. Fix: Attachments being persisted to database on login. Fix: Attachments being persisted when changed by a script like invisprim refresh. Fix: Attachpoint set, but not reset correctly. Fix: prevent spurious full updates while editing attachments. Several other fixes
2008-09-28Add explicit CultureInfo to the script compile thread in DotNetEngine toMelanie Thielker1-0/+4
ensure that scripts will compile on nonenglish systems
2008-09-27Add friendly error messages to both engines.Melanie Thielker1-2/+3
2008-09-26Kill "Compile successful" message when rezzing prims/wearing attachmentsMelanie Thielker1-2/+2
Changes behavior to send on_rez event to prims when rezzed from agent inventory.
2008-09-26Finishing the code cleanup in DNE, make llDie work again in DNE.Melanie Thielker1-0/+25
Add some compile messages from XEngine into DNE as well.
2008-09-25Fix script engine name parsing for DotNetEngine to make that actually workMelanie Thielker1-1/+1
Add a reference for Windows builds
2008-09-25Add an extension to allow registering multiple interfaces of a type withMelanie Thielker1-3/+23
Scene. Make the script engines check that the engine name in the //Engine:language comment is a valid engine and treat it as a normal comment if it's not. //DotNetEngine: needs to be written as //ScriptEngine.DotNetEngine: now, since that is it's real internal name. //XEngine: still works
2008-09-25Convergence is almost complete. This brings the diff between the API to < 10kMelanie Thielker1-18/+21
and makes it use a common set of types in both engine. Fixes the issues with running both engines and HTTP requests / listens / timers etc.. Also fixes a couple of minor Scene issues and a CTB by nullref.
2008-09-24Rename lots of stuff in DNE to reduce source code differences in theMelanie Thielker1-1/+0
LSL implementation files. Rename lots of stuff in XEngine for the same reason. Move methods between interfaces. Just refactor stuff.
2008-09-24Decouple AsyncCommands from XEngine and the script instance. MakeMelanie Thielker1-10/+0
all methods needed outside the API ststic. Async command processing is now wholly internal to the API. This sets the stage for the next convergence step.
2008-09-23Update the permissions system to handle scripts and notecards the wayMelanie Thielker1-1/+1
it was meant to. No functional changes, just better code
2008-09-22Remove the script engine identifier tag, so the compiler just seesMelanie Thielker1-0/+1
the language specifier. Makes language specifiers work again with script engine specifiers.
2008-09-22Prevent scripts from running under multiple engines at onceMelanie Thielker1-4/+8
2008-09-21Allows to use the new script engine feature. Begin your script withMelanie Thielker1-0/+9
//XEngine: or //DotNetEnine: , optionally followed by a language like //XEngine:lsl, and it will be run on the chosen engine.
2008-09-21Change the scirpt engine loading mechanism. Script engines are nowMelanie Thielker1-9/+21
ordinary region modules and are able to coexist in one instance. See http://opensimulator.org/wiki/ScriptEngines for details. There were changes to OpenSim.ini.example, please note DefaultScriptEngine. Also see the User docs and FAQ on the Wiki. Default is DotNetEngine.
2008-09-21Change XEngine startup to enable it to run as a normal region moduleMelanie Thielker1-27/+40
rather than a special one
2008-09-19* Duh, forgot I had undone some of the changes I meant to include in the ↵Justin Clarke Casey1-2/+2
previous commit
2008-09-19* Remove one possible deadlock situation as seen todayJustin Clarke Casey1-1/+7
* On script rez, XEngine was taking an m_scripts lock and then later on an m_parts lock when looking for a part by local id * In the meantime, a scene object being deleted would take an m_parts lock and then later on try to take an m_scripts lock when it tried to trigger script removal * There may be better ways to resolve this, but I believe that in general, we must always take an m_parts lock before an m_scripts lock
2008-09-17Kan-Ed fix series. Fix llTakeControls to behave as documented.Melanie Thielker1-0/+1
XEngine fixes: prevent queue overruns, prevent spamming when no key is down. Release controls when conflicting permissions are requested or permissions are refused later. Release when prim or script are deleted. Fixes Scene script instance deletion semantics.
2008-09-16* Change XEngine default configuration values to match those in ↵Justin Clarke Casey1-3/+3
OpenSim.example.ini * Particularly important for max threads since setting this to 2 was causing all events to wait behind the regularly sleeping maintenance event
2008-09-16* minor: method documentationJustin Clarke Casey1-29/+39
2008-09-13Provide a GetApi method on the IScriptEngine to get a named API referenceMelanie Thielker1-0/+8
This allows cross-api method calls on the implementation and also allows "Meta APIs" that only provide common functionality to other APIs
2008-09-09Update svn properties, formatting cleanup.Jeff Ames1-11/+11
2008-09-08Implement proper persistence of the following prim properties:Melanie Thielker1-0/+8
Floating text, Rotation, Texture animation, Particle System This will make "Eye Candy" scripts work without modification in XEngine. The use of the CHANGED_REGION_RESTART hack is no longer needed. Implemented in MySQL only, hovertext also in SQLite.
2008-09-07Xengine patch to force a persistence save on script creation. This preventsMelanie Thielker1-3/+24
duplicate delivery of state_entry if a region is restarted just after saving the script. Changes script state saves to no longer abort long- running event handlers. Queues the save instead. Adds shutdown handler to save script state on irderly shutdown
2008-09-06* This is the fabled LibOMV update with all of the libOMV types from JHurlimanTeravus Ovares1-43/+43
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point. Regular people should let the dust settle. * This has been tested to work with most basic functions. However.. make sure you back up 'everything' before using this. It's that big! * Essentially we're back at square 1 in the testing phase.. so lets identify things that broke.
2008-09-02fix: PostInitialise() not being called on script engines (nasty one that)Dr Scofield1-48/+45
cleanup: warnings, readability
2008-09-02Change some chat output functions so that text is truncated atMelanie Thielker1-2/+2
1000 chars to avoid the exception thrown by libomv at 1100 chars. Change string->int conversion so it copes with non-numeric chars after the number and no longer uses a float to parse the value.
2008-08-28Refactor IScriptInstance / IScriptEngine to use a generic IScriptWorkItem,Melanie Thielker1-3/+3
which is a thin wrapper around a IWorkItemResult from the SmartThreadPool. However, it is very easy to reimplement on top of basic threading and therefore makes the IScriptInstance class independent of the specific threading implementation.