Commit Graph

2295 Commits

Author SHA1 Message Date
Justin Clarke Casey
4245cd90de minor: refactor some SceneTests code for future tests 2008-11-11 18:21:43 +00:00
Justin Clarke Casey
97816f8c90 * Implement basic region filtering as described in https://lists.berlios.de/pipermail/opensim-dev/2008-November/003468.html
* This is done by sending a 'major interface version' number on sim registration.  Developers must increment this every time they make a change that would make the previous 
OpenSim revision failure incompatible with the new one (non-fatal incompatibilities are fine).
* This number resides in OpenSim.Framework.Servers.VersionInfo.MajorInterfaceVersion
* This allows the grid service to stop older, incompatible regions from connecting
2008-11-11 17:02:46 +00:00
Charles Krinke
851b72570a Mantis#2604. Thank you kindly, Diva for a patch that:
This patch changes a couple of methods in Scene.Inventory to virtual, 
so they can be overridden in subclasses. DeleteToInventory now returns 
the UUID of the newly created asset, so that further actions on it can 
be pursued in subclasses. This will make my life easier for making 
inventory accessible in the hypergrid.
2008-11-11 15:18:16 +00:00
Melanie Thielker
89570e1637 Add ClampPrimSize option to ensure no prim can exceed the set size. This
will allow people who don't want megaprims in their sim to prevent them
from being created. Any prim rezzed or pulled across the border will be
clamped to the size specified in OpenSim.ini if this option is set.
2008-11-11 03:10:28 +00:00
Melanie Thielker
7af1afb6df Fix a nullref in attachment packing 2008-11-11 02:24:33 +00:00
Melanie Thielker
302d65569f Allow gods to terraform without limits. Respect the Allow Others To
Terraform flag in land.
2008-11-11 01:47:40 +00:00
Jeff Ames
5276c4bdf8 Update svn properties, minor formatting cleanup. 2008-11-11 00:52:47 +00:00
Teravus Ovares
d145700115 * Commit allows downloading of the .raw terrain from the estate tools.
* Implements the SendInitiateDownload method in IClientAPI 
* Uses the ITerrainModule Interface to write a terrain file to disk then uses a FileStream to read the binary file from the disk and put it in a byte array. and save to the xFer list.
* It then tells the client to download the file and the client initiates an Xfer request.
2008-11-10 23:56:58 +00:00
Justin Clarke Casey
4c731dd44e * Remove mono warnings
* Remove duplicate test part
2008-11-10 21:12:53 +00:00
Justin Clarke Casey
0bda2cf5bc * refactor: clean up SOG xml2 reloading to reuse more code 2008-11-10 21:06:26 +00:00
Melanie Thielker
58e74b554f Restore the independent LocalID numbering for avatars. Fixes an issue where
it becomes impossible to cross back into a region you came from, or freeze
several seconds after region crossings.
2008-11-10 20:58:24 +00:00
Justin Clarke Casey
b044a0f139 * refactor: Make xml (orig format) loading method reuse existing set root part method
* miscellaneous doc/log message changes
2008-11-10 20:54:34 +00:00
Sean Dague
d52946dd0d fix unit tests use SetRootPart now
From: Sean Dague <sdague@gmail.com>
2008-11-10 20:46:47 +00:00
Sean Dague
03382c55cb make things compile, but the test still fails because of the root part
changes
2008-11-10 20:42:23 +00:00
Sean Dague
60299d172b Lock tests on EntityList.cs, multithreaded object addition
and removal.

From: Arthur Rodrigo S Valadares <arthursv@linux.vnet.ibm.com>
2008-11-10 20:28:57 +00:00
Justin Clarke Casey
13cf89bf3b * minor: remove useless exception catch 2008-11-10 20:10:23 +00:00
Justin Clarke Casey
0e180b0ad3 * refactor: Expose SOG.SetRootPart for outsiders to use rather than setting RootPart and adding the part separately
* Make RootPart read only
2008-11-10 20:04:55 +00:00
Homer Horwitz
014eb26426 Removed some debug output I forgot to remove... 2008-11-10 19:55:30 +00:00
Justin Clarke Casey
adf1c40ba3 * Take out the 1 second sleep debugging line in ScenePresence 2008-11-10 19:48:06 +00:00
Justin Clarke Casey
2d89e562d7 * Refactor the callers of SOG.SetPartAsRoot() to use common code 2008-11-10 19:47:13 +00:00
Justin Clarke Casey
5d1d5a22a9 * Extend basic scene test to retrieve the object from the scene and match uuids
* Decouple sog and sop by removing the need to pass the sog to the sop when it is created - most of the code was doing this operation (and hence duplicating it) anyway
* Remove unused constructors
2008-11-10 18:10:00 +00:00
Melanie Thielker
2589acc5d1 Keep dropped prims from being temp-on-rez and getting cleaned up 2008-11-10 16:11:22 +00:00
Sean Dague
bfc2d8c231 From: Christopher Yeoh <cyeoh@au1.ibm.com>
This patch addresses mantis bug 2576.

 http://opensimulator.org/mantis/view.php?id=2576

Briefly, if you call llDie from many scripts at the same time (say a
build is cleaning up excess objects) then OpenSim deadlocks. Avatars
are unable to move, and whilst the console is active you can't do much
without it also locking up. This only occurs with the XEngine script
engine enabled.

I have attached a patch which works, but I'm not sure its the right way
to address the problem. The fundamental problem is that a lock on a
SceneObjectGroup's m_parts is taken when the object is deleted, a
callback to the script engine occurs and a fair way down the callchain,
potentially there are locks taken on several other SceneObjectGroup's
m_parts. Deadlock then occurs if you get unlucky enough
to get in the situation where with several llDie's are called and
SceneObjectGroups
have taken a lock on their own m_parts, and end up waiting on each
other's
locks to become available.

The patch adds a lock at a high level so that that the removal of script
instances
from an object only occurs once per scene at a time. This avoids the
potential
of deadlock. Theoretically there could be some performance hit but
AFAICT
the path taken is not a common occurrence.

Would welcome any suggestions for a better solution, otherwise feel free
to apply  :-)

Note this patch was built against the 0.6.0 freeze as trunk was
rather broken for me this morning (creating a script killed the client
connection).
2008-11-10 12:42:22 +00:00
Melanie Thielker
fc6f3edec6 Stop attachments from causing an update to be sent on every frame in which
an avatar moves.
2008-11-10 05:21:51 +00:00
Melanie Thielker
664e8a464e Script region crossing. This has not user functionality, but lays all the
groundwork.
2008-11-09 19:30:40 +00:00
Adam Frisby
df8b92cc1e * Applying EventQueueGetModule patch to try debug the case of the missing EQG. 2008-11-09 15:44:12 +00:00
Jeff Ames
8da726c3a8 Update svn properties. Add copyright headers. Minor formatting cleanup. 2008-11-09 01:31:38 +00:00
Melanie Thielker
bdf9add8d1 Reintroduce transactionID to the parameter list for SendInstantMessage.
It is required by group IM and also for a proper implementation of item
give, group notice attachments and offline IM.
2008-11-09 01:16:42 +00:00
Homer Horwitz
4da4941065 Mantis #2553: Thank you, idb, for a fix that helps to persist changes in prim attributes. 2008-11-08 19:55:33 +00:00
Adam Frisby
bec51a9580 * Ported InstantMessageModule to IClientCore
* See http://opensimulator.org/wiki/OpenSim_0.6_IClientAPI#InstantMessageModule.cs
2008-11-08 18:07:33 +00:00
Adam Frisby
5a5e132a96 * Implemented OnClientConnect in Scene EventManager
* Identical to OnNewClient except it passes IClientCore instead of IClientAPI
* See http://opensimulator.org/wiki/OpenSim_0.6_IClientAPI#Porting_Guide
2008-11-08 17:46:10 +00:00
Adam Frisby
cf0a14bec9 * Added IClientIM to IClientCore interfaces
* Changed SendInstantMessage, dropped fromAgentSession and imSessionID as security precaution, see http://opensimulator.org/wiki/OpenSim_0.6_IClientAPI#Porting_Guide for details on porting.
* Removed unused usings from Framework.*
2008-11-08 17:20:54 +00:00
Homer Horwitz
718425e7dc Added necessary locking to LandManagementModule. As it is used by several
threads concurrently, you'll get bad Heisenbugs without correct locking.
This might fix Mantis#2413
2008-11-08 17:00:42 +00:00
Homer Horwitz
38b99e998e Small bugfix for RemoveNeighbourRegion 2008-11-08 16:55:59 +00:00
Melanie Thielker
e93828fe00 Add some discovery code, laying groundwork for region-crossing scripts
No user functionality yet
2008-11-08 14:35:52 +00:00
Jeff Ames
bbb8d6fc51 Remove empty OSUUID.cs file. Add copyright headers. Minor formatting cleanup. 2008-11-08 14:28:43 +00:00
Melanie Thielker
0fc57de7de Remove part of another patch that would cause DNE to nuke the sim in it's
current form
2008-11-08 02:31:57 +00:00
Melanie Thielker
833f5e8bed Refactor IEventReceiver back into IScriptEngine 2008-11-08 02:24:34 +00:00
Justin Clarke Casey
8699c2b3b9 * Correct catch changed on last commit, since I just realized I started making it catch a little too much, in principle 2008-11-07 23:08:51 +00:00
Justin Clarke Casey
1effc31b14 * minor: Remove mono compiler warning 2008-11-07 23:04:25 +00:00
Justin Clarke Casey
bf9384d594 * Apply http://opensimulator.org/mantis/view.php?id=2582
* Send prim flags as booleans from LLClientView rather than in the native LL array
* Thanks idb
2008-11-07 22:57:32 +00:00
Justin Clarke Casey
4ace67a81d * Fix bug in r7162 where avatars could not move
* Was caused by the lack of a local id.  Local ids are now given from the same sequence as prims, rather than a separate one
* I don't believe this will cause any problems, but please revert to a separate sequence if it does
2008-11-07 22:49:36 +00:00
Justin Clarke Casey
ba1d9ca26b * refactor: cleanup AllocateLocalPrimId() a bit more 2008-11-07 22:08:58 +00:00
Justin Clarke Casey
fb694fb177 * Rename PrimIDAllocate() to more effectively convey what it does, and put the verb at the front 2008-11-07 21:50:03 +00:00
Justin Clarke Casey
47e3d4d1f0 * Remove next local id from SceneBase
* This was only reference by ScenePresence and not used anyway - Scene itself had it's own copy
2008-11-07 21:33:11 +00:00
Justin Clarke Casey
a943b7dc7d * minor: Just some tidy up of log messages, etc. 2008-11-07 21:25:47 +00:00
Justin Clarke Casey
54e10e5b61 * Stop requiring local ids in the SOG constructors.
* These are assigned when the object is attached to the scene
2008-11-07 21:07:14 +00:00
Justin Clarke Casey
af35f4cb4a * refactor: stop unnecessary passing of scene to sog copy constructor
* this is now done in AttachToScene()
2008-11-07 19:49:22 +00:00
Justin Clarke Casey
f3edbcfa3b * Stop prim attach being signalled twice (it is already been done outside AttachToScene()) 2008-11-07 19:30:20 +00:00
Justin Clarke Casey
e34eaec553 * Remove more UpdateParentIDs() calls that are now duplicates 2008-11-07 19:17:24 +00:00