Commit Graph

102 Commits

Author SHA1 Message Date
Melanie
8e69dde397 Merge commit 'ea7366ddc6f0e13519589fcaa3729fd36b5eef79' into bigmerge
Conflicts:
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2011-10-25 01:36:39 +01:00
Justin Clark-Casey (justincc)
ea7366ddc6 When shutting down XEngine, log how many scripts are being shutdown so the user knows why they are waiting. 2011-10-12 19:42:04 +01:00
Tom
66dec3b874 Resolve merge commits, stage 1 2011-09-04 07:06:36 -07:00
Justin Clark-Casey (justincc)
095b3e5756 Remove pointless cluttering SOP.ParentGroup != null checks.
The only times when ParentGroup might be null is during regression tests (which might not be a valid thing) and when scene objects are being constructed from the database.
At all other times it's not possible for a SOP not to have a SOG parent.
2011-09-01 01:22:28 +01:00
Justin Clark-Casey (justincc)
15a514fcbc refactor: simplify SOP.AttachedAvatar into SOG.AttachedAvatar
This does a tiny bit to reduce code complexity, memory requirement and the cpu time of pointlessly setting this field to the same value in every SOP
2011-08-26 23:06:41 +01:00
Diva Canto
fda56618e1 Deal with possibly un-initialized scripts in object transfers. Mantis #5310 2011-01-06 16:17:43 -08:00
Melanie
8741676bc3 Revert "Revert "Trigger changed event with CHANGED_TELEPORT when teleporting to another region.""
This reverts commit 6c01ebb875.
2010-12-03 18:32:03 +01:00
Melanie
6c01ebb875 Revert "Trigger changed event with CHANGED_TELEPORT when teleporting to another region."
This reverts commit 2827deffe8.

Pulling out a bad core commit that broke attachment teleporting for us
2010-12-03 04:39:51 +01:00
Melanie
e05f728b08 Merge branch 'master' into careminster-presence-refactor 2010-11-27 01:08:12 +00:00
Marck
2827deffe8 Trigger changed event with CHANGED_TELEPORT when teleporting to another region. 2010-11-26 22:46:48 +01:00
Melanie
87f30709a2 Merge branch 'master' into careminster-presence-refactor 2010-11-22 14:14:45 +00:00
Marck
8a2c365e5b Thank you, thomax, for a patch making changed events CHANGED_REGION_RESTART and CHANGED_REGION work.
Fixes Mantix #5214.
2010-11-22 10:39:46 +01:00
Melanie
efc555ca22 Actually set the PrivateBinPath in XEngine so relocating the scripts
directory works
2010-10-16 10:50:07 +02:00
Melanie Thielker
e1e897ac11 Change XEngine to use the new constant 2010-08-06 15:18:46 +01:00
Melanie
120f3a18f2 Correct some script constants. 2010-08-06 15:11:18 +01:00
Melanie Thielker
696c2c429b Change XEngine to use the new constant 2010-08-06 15:33:22 +02:00
Tom
c5c6627adb Implement CHANGED_REGION_(RE)START and also fix various CHANGED_* constants which had the wrong values (checked using LSL in SL). This addresses mantis #217 and mantis #53. 2010-08-06 02:40:31 -07:00
Melanie
d2e4f2d376 Merge branch 'master' into careminster-presence-refactor 2010-04-19 15:33:20 +01:00
Melanie
a89208b465 Stopgap measure. Disable the recent script startup changes until I can cure the
race condition.
2010-04-19 14:14:31 +01:00
Melanie
98cb4f74b2 Merge branch 'master' into careminster-presence-refactor 2010-04-19 07:00:40 +01:00
Melanie
21cad5d3ac All scripts are now created suspended and are only unsuspended when the object
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-04-19 06:29:26 +01:00
Melanie
28c7bb99bf Merge branch 'master' into careminster 2009-12-22 09:30:50 +00:00
Melanie
1876ce90af FINALLY! Script compile errors now appear in the script error pane,
not in a funky debug window.
2009-12-22 09:24:01 +00:00
Melanie
06f41bb017 Merge branch 'master' into careminster 2009-11-26 17:27:03 +00:00
Melanie
9d63f90467 Remove the old (Remoting) region crossing code. Fix the new code to
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-26 17:03:09 +00:00
CasperW
d114713694 Drop all locking of part.TaskInventory in favour of a ReaderWriterLockSlim 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-24 18:02:12 +01:00
CasperW
247c66b3fe Swap the locking of m_EventQueue and m_Script to ease locks on script inventory operations 2009-11-23 20:25:53 +01:00
CasperW
889ce36afa Added some [DebuggerNonUserCode] modifiers to functions that throw EventAbortException() to ease debugging on Visual Studio 2009-11-23 17:59:24 +01:00
Jeff Ames
9f5c2acd12 Formatting cleanup. 2009-11-23 11:26:06 +09:00
John Hurliman
ec7fd8b1f8 More performance improvements to XEngine script loading 2009-10-29 06:42:40 -07:00
John Hurliman
dd13fa361b * Misc. formatting cleanup for the previous patch
* Added the new AppDomainLoading variable to the [XEngine] section in the example config
2009-10-29 05:56:37 -07:00
Dan Lake
33448e4ba8 Optimizations 2009-10-29 05:39:18 -07:00
Melanie
66923983a7 Add support for display of the script compilation errors in the script editor's
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-17 22:36:44 +01:00
Jeff Ames
ee205e7e81 Formatting cleanup. 2009-10-01 01:17:47 +09:00
dr scofield (aka dirk husemann)
19c5c8b98d fix to preserve UTF8 encoding in saved script state. 2009-09-14 16:14:59 +02:00
Justin Clark-Casey (justincc)
766d775625 remove warning 2009-09-06 20:17:30 +01:00
Melanie
a851b68333 Remove one more sponsor reference 2009-08-14 14:27:56 +01:00
Melanie
7a2a2e68e7 Remove the script sponsor logic because scripts are timing out again.
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-14 14:18:56 +01:00
Melanie
ad0d2fea20 Experimental! Implement ISponsor in ScriptInstance 2009-08-07 21:30:21 +01:00
Melanie
4ee8d8a813 Another stab at cmickeyb's patch for script GC.
Moved the Close() for the appdomain-hosted parts into a new destructor
on ScriptInstance.
2009-08-07 20:43:23 +01:00
Melanie
f8d8366bfa Revert the XEngine memleak patch, it causes premature GC.
This matches behavior seen with an earlier attempt to do this, apparently
the sponsor mechanism does't work in Mono
2009-08-07 03:04:06 +01:00
Melanie
91f6898b26 |From: James J Greensky <jame.j.greensky@intel.com>
|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-06 22:03:20 +01:00
Alan Webb
068f54725b Slight change to state management for attach scheduling.
Signed-off-by: dr scofield (aka dirk husemann) <drscofield@xyzzyxyzzy.net>
2009-08-04 11:44:22 +02:00
Alan Webb
9ffe4d850e This change adds support for the attach event in scripts.
[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-04 11:41:06 +02:00
Melanie
17bdc45c5c Add plumbing for the SceneObjectDeleter to wait for the script engine to
allow final deletion of objects. Meant to support the attach(NULL_KEY) event,
2009-08-04 03:17:13 +01:00
Melanie Thielker
5139160ce4 Correct an error where the config file name was always considered to be a
local file. This caused llHttpRequest and llSetInventoryPermsMask to fail
on regions that load their config from a web server
2009-06-06 16:39:28 +00:00
Jeff Ames
840de6c036 Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
Dr Scofield
1d02636c27 cleaning out warnings.
NOTE: we currently have a gazillion warnings caused stuff flagged as
"obsolete" (OGS1 stuff) --- what's up with that?
2009-05-22 14:57:00 +00:00
Dr Scofield
e1a1d38aff From: Alan Webb <alan_webb> & Dr Scofield<drscofield@xyzzyxyzzy.net>
Disable use of log4net in script domains to avoid mono 2.4 aborts.
2009-05-18 15:32:06 +00:00
Melanie Thielker
3c338e4e56 Convert both script engines to new region module format. Add proper unload
handling to XEngine. Add needed stubs to DotNetEngine.
2009-04-15 18:51:17 +00:00