Commit Graph

1337 Commits

Author SHA1 Message Date
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
73b0cf492d Add some extra info to script load messages 2009-08-14 01:35:14 +01:00
Melanie
eba23048ca Replace the Replaceable modules name 2009-08-10 23:08:22 +01:00
Jeff Ames
bc6ec3b564 Formatting cleanup. 2009-08-09 00:43:13 +09:00
Melanie
0b0ed200f6 Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim 2009-08-08 01:43:28 +01:00
Teravus Ovares (Dan Olivares)
2b990a61bf This is the second part of the 'not crash on regionsize changes'. This lets you configure region sizes to be smaller without crashing the region. I remind you that regions are still square, must be a multiple of 4, and the Linden client doesn't like anything other then 256. If you set it bigger or smaller, the terrain doesn't load in the client, the map has issues, and god forbid you connect it to a grid that expects 256m regions. 2009-08-07 20:31:48 -04:00
Melanie
0d2167b6db Update threat level description 2009-08-08 00:53:34 +01:00
Melanie
6c6527caae Thank you, Godfrey, for a patch that implements osGetLinkPrimitiveParams
Fixes Mantis #3979
Applied with changes. Changed ThreatLevel to High since all discovery
functions are a high threat. Overriding that is the responsibility
of the grid owner.
2009-08-07 21:51:03 +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
178b40971a Add a method to init the OSSL Api's m_LSL_Api member back to the OSSL Api 2009-08-07 19:50:47 +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
Justin Clark-Casey
e5904c3883 remove some more mono compiler warnings 2009-08-05 17:39:32 +01:00
Justin Clark-Casey
190bdc8a2e * Remove some mono compiler warnings 2009-08-05 17:33:23 +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
Jeff Ames
a1786d4c39 Formatting cleanup. 2009-07-28 09:40:07 +00:00
Melanie Thielker
aec16c2a0a Than you, otakup0pe, for a patch to correct llSetPos & friends' behavior
for child prims.
Fixes Mantis #3931
2009-07-27 23:13:31 +00:00
Teravus Ovares
64bd9a3354 * Updates libOMV to version 0.7.0
* Uses mantis #3811 as a base (thanks jhuliman) with changes.
* E-mail regarding interface changes sent to the opensim-dev list 
* Archive: https://lists.berlios.de/pipermail/opensim-dev/2009-July/007219.html
2009-07-25 15:49:10 +00:00
Jeff Ames
a133e83f3a Formatting cleanup. 2009-07-23 15:32:11 +00:00
Melanie Thielker
52f983613c Thank you, otakup0pe, for a patch that enables basic auth with LSL 2009-07-18 20:10:19 +00:00
Melanie Thielker
fb4067c844 A stab at implementing llSetDamage. Not persistent. 2009-07-15 00:10:01 +00:00
Melanie Thielker
e53596f607 Remove redundant distance limitaion in llRezAtRoot
Fixes Mantis #3887
2009-07-14 22:10:46 +00:00
Jeff Ames
cce451d9de Formatting cleanup. 2009-07-11 11:47:33 +00:00
Melanie Thielker
8ecfc9a717 Committing the interface change and the addition to the modules to get
the ball rolling on replacable modules. No user functionality yet
2009-07-10 20:17:13 +00:00
Charles Krinke
dc0a19f737 Thank you kindly, Godfrey, for a patch that:
The vector parameter to llSetPos() specifies an absolute position for 
an unlinked prim or the root prim of a linkset; however, when the 
function is used by a child prim, the vector specifies a relative 
offset from the root prim. The changed introduced in llSetPos() treats 
this value as an absolute position in all cases, which has the unintended 
effect of mangling the position of child prims.
2009-07-09 16:53:55 +00:00
Melanie Thielker
2d949c1f25 Add DisableUndergroundMovement to scrpting API to allow underground movement
if needed. Defaults to true, so those who want to continue using underground
scripted prims need to add that option and set it.
2009-07-08 14:36:00 +00:00
Melanie Thielker
f4498983aa Prevent scripts from moving prims underground 2009-07-08 10:22:51 +00:00
Melanie Thielker
6458858575 Change fields and methods in LSL API from private to protected, make some
methods virtual
2009-07-06 13:09:03 +00:00
Melanie Thielker
3564271c2d Restore the functionality that was removed in r9928. This lets the load
balancer plugin work again. Create a new method, GetClientEP, to retrieve
only the EndPoint for script usage. Marked the purpose of the method
in IClientAPI.cs with a warning. Also restored the corresponding SetClientInfo
functionality.
2009-07-01 15:47:52 +00:00
Sean Dague
3dc2010da6 From: Chris Yeoh <yeohc@au1.ibm.com>
Attached is a patch that changes the oar file saving of creation date/time to an integer
instead of a string. I did this after justincc emailed me saying there is a problem
with internationalisation doing it the old way and I said I'd fix it. Its been
tested with MySQL and I've made the changes for MSSQL but that hasn't been well tested.
2009-06-29 15:05:12 +00:00
Charles Krinke
c7c4bc8cd5 Thank you kindly, Grumly57 for a patch that solves:
When a sit position is modified by llSitTarget and the 
sim is restarted, the object sit position is lost until 
llSitTarget is applied again.
2009-06-28 18:19:11 +00:00
Dr Scofield
98ea70644a From: Alan Webb <alan_webb@us.ibm.com>
After noticing on several occasions that the thread counts
we see when running OpenSIm were bordering on the astronomical
I decided to seriously investigate.

After much poking I discovered that the problem is actually very
simple. The XEngine secition of the example ini says that the
timeout for an iden thread is in seconds, and an example value
of 60 is specified. In fact, this is actually resulting in a 60mS
idle timeout, which is not normally enough for a smart thread
to survive. I have added a multiplier to the XEngine constructor
so that the number now matches the published behavior.
2009-06-25 08:17:37 +00:00
Homer Horwitz
04444d408f Do llEscapeURL with Uri.EscapeDataString instead of Uri.EscapeUriString.
Not exactly right, according to the LSL docs, but similar enough, I hope.
Fixes Mantis #3825.
2009-06-21 19:06:19 +00:00
Melanie Thielker
2c3a1995fc Publish a method on ICompiler to generate the CIL assembly path
Cause group deeding to apply next owner perms
2009-06-21 18:38:12 +00:00
Sean Dague
1adeb8ad77 From: Chris Yeoh <yeohc@au1.ibm.com>
This patch ensures that the touch positions are set during touch_end
events (currently only working for touch_start and touch events).
2009-06-19 12:21:20 +00:00
Mike Mazur
e6e88ac126 Give m_test* methods more reasonable names
Changing the names of these methods because they were being picked up by
nunit as tests even though they were marked private. Naming them Check*
after the original Test*.
2009-06-12 15:00:08 +00:00
Jeff Ames
a23d64dec1 Formatting cleanup. 2009-06-10 04:28:56 +00:00
Jeff Ames
a7fcacf8f3 Formatting cleanup. Ignore some generated files. 2009-06-09 18:07:35 +00:00
Dr Scofield
759636f37e From: Alan Webb <alan_webb@us.ibm.com>
This change addresses two issues:

  [1] It adds a flag field to the blendface call which allows the
      caller to indicate whether or not the generated asset is
      temporary, and whether or not the asset being replaced should
      be explicitly retired fromt the memory cache. The decimal
      values correspond to:
      0 - Permanent asset, do not expire old asset
      1 - Permanent asset, expire old asset
      2 - Temporary asset, do not expire old asset
      3 - Temporary asset, expire old asset
      '3' corresponds to the default behavior seen today, and is
          the continued behavior of the non-blendface calls.
  [2] The dynamic texture routines are highly-asynchronous and can
      be scheduled simultaneously on a multi-core machine. The nature
      of the texture management interfaece is such that updates may
      be lost, and the nature of asynchornous operation means that
      they may be processed out of order. A lock has been added to
      ensure that updates are at least atomic. No attempt has been
      made to enforce ordering. The lock applies to the SceneObjectPart
      being updated and is held for the lifetime of the TextureEntry
      used to carry texture updates (the one instance carries all
      faces supported by the prim).

   Users of these services should remember that the dynamic texture
   call is asynchronous and control will be returned *before* the
   texture update has actually occurred. As a result, a isubsequent
   GetTexture call may not return the expected asset id. A script
   must wait for the corresponding TEXTURE_CHANGED event before
   retrieving any texture information.
2009-06-09 06:39:27 +00:00
Mike Mazur
cda6b24668 Skip lone ident statments or for-loop assignments
SL's LSL supports lone idents:

    integer x;
    x;

as well as lone idents in for-loop assignments:

    for (x; x < 10; x++) { ... }

while those are errors in C# (MONO at least). This patch skips lone
idents in such places.

Fixes Mantis #3042.
2009-06-07 10:22:55 +00:00
Mike Mazur
48bc2f3a42 Allow empty assignment in for-loop
For loops with no assignment are no longer syntax errors. For example,
this is now valid:

    for ( ; i < 10; i++) { ... }

Corresponding changes to lsl.{lexer,parser} in r99 in opensim-libs.

Fixes Mantis #2501. Fixes Mantis #2884.
2009-06-07 10:22:41 +00:00
Mike Mazur
d25b9151c8 Rename private TestllAngleBetween method
It seems overloading the method TestllAngleBetween confused nunit a bit
and caused it to try running the private TestllAngleBetween method. The
method's access modified prevented that from happening, and nunit
complained.
2009-06-07 08:32:07 +00: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
Melanie Thielker
9f932a4205 Thank you, thomax, for a patch to provide finer-grained access control to
scripting.
Fixes Mantis #2862
2009-06-05 09:47:42 +00:00
Dr Scofield
717fd3b5b9 From: Chris Yeoh <yeohc@au1.ibm.com>
This patch adds oar file date and time (UTC) meta data to an oar file
when it is created.  It also adds a unique ID, though this id does not
in anyway identify the machine that the oar file was created on.

When an oar file with this meta data is loaded this extra information
is saved with the region settings and available via LSL through:

- osLoadedCreationDate()
- osLoadedCreationTime()
- osLoadedCreationID()

If there is no meta data these fields will be blank. Subsequent oar
file loads will erase the information for the previous oar file
load. Persistence has only been implemented for MySQL, the other
backends need updating.

Overall this allows us to much more easily identify the specific version of
software that clients are using. Its very straightforward to edit the oar file
to change the ID string to be something more human friendly.

Included in the patch is a new file OpenSim/Data/MySQL/Resources/030_RegionStore.sql
required for the MySQL DB migration.

btw I had a chat with justincc about this a few weeks ago since he
wrote the oar file import/export and he sounded happy to accept
something that included date/time information but didn't want anything
that would silently leak private information like machine names.
2009-06-03 12:48:04 +00:00
Dahlia Trimble
b64c484d26 Thanks aduffy70 for Mantis #3762: A patch to fix llGround, llGroundNormal, and llGroundSlope 2009-06-03 05:31:53 +00:00