Commit Graph

724 Commits

Author SHA1 Message Date
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
Jeff Ames
5276c4bdf8 Update svn properties, minor formatting cleanup. 2008-11-11 00:52:47 +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
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
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
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
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
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
ebd9f22b29 * refactor: allocate local ids to prims only when an object is attached to a scene 2008-11-07 18:46:11 +00:00
Melanie Thielker
48c6d052d9 Attachments, attachments, and, did I say attachments?
Too many fixes to list.
2008-11-07 05:48:44 +00:00
Justin Clarke Casey
0d17ba2a76 * refactor: Attach a scene object to a scene separately from its construction 2008-11-06 22:21:25 +00:00
Justin Clarke Casey
9770cf778e * minor: Make some 'startup config failed to load' log messages more consistent 2008-11-06 20:38:04 +00:00
Homer Horwitz
38e8853e57 Megapatch that fixes/adds: friend offer/deny/accept, friendship termination,
on-/offline updates, calling cards for friends.
This adds methods in the DB layer and changes the MessagingServer, so a full
update (incl. UGAIM) is necessary to get it working. Older regions shouldn't
break, nor should older UGAIM break newer regions, but friends/presence will
only work with all concerned parts (UGAIM, source region and destination
region) at this revision (or later).
I added the DB code for MSSQL, too, but couldn't test that.
BEWARE: May contain bugs.
2008-11-01 22:09:48 +00:00
Justin Clarke Casey
269303d97d * test: Add basic scene test which merely instantiates the scene right now
* set debug scene name on scene registration, rather than within the Scene constructor
2008-10-31 18:39:51 +00:00
Justin Clarke Casey
5feaff8524 test: Extend malformed packet test to actually check that a valid packet can get through after the malformed ones have been sent 2008-10-30 22:32:23 +00:00
Justin Clarke Casey
247b806134 * minor: Add documentation to some of the appearance methods, change some logging messages 2008-10-28 17:35:36 +00:00
Justin Clarke Casey
baa29fcbff * minor: Doc and log message tidy up
* reinstate debug level log message indicating when a child agent is made a root for future debugging purposes
2008-10-28 15:46:30 +00:00
Melanie Thielker
f9b3ef32c6 Remove the gratuitious prim deletes caused by linking. This makes linking
a bit faster.
2008-10-22 03:32:45 +00:00
Melanie Thielker
264eeffd02 Fix thingd so that autoreturn also works when the user is not in the sim.
Also add experimental distance ordering for prims
2008-10-18 07:27:39 +00:00
Melanie Thielker
efe3f3eb2a Megapatch. :) Fix skull attachment editing. Streamline Object terse updates.
Add rezzing time to objects. Add Object return and traffic fields to land
database. Add plumbing for auto return. Implement auto return.
Contains a migration. May contain nuts.
2008-10-18 05:51:36 +00:00
Justin Clarke Casey
6789234335 * Apply http://opensimulator.org/mantis/view.php?id=2405
* Implement llGetRegionFPS()
* Thanks idb
2008-10-16 13:17:31 +00:00
Justin Clarke Casey
3b9400bcea * refactor: rename SendKiPrimitive to SendKillObject since this appears more descriptive of what it actually does 2008-10-14 14:43:46 +00:00
Mike Mazur
3e124a3dba - convert comments into documentation
- minor formatting adjustments
- remove some trailing whitespace
2008-10-14 09:40:05 +00:00
Homer Horwitz
4c337c48c7 Add logging in case of a SOG without rootpart 2008-10-11 17:48:37 +00:00
Teravus Ovares
abc6424c51 * Removed Heartbeat timer
* Implemented a proper update thread
* Removed the UpdateLock Mutex as it's no longer needed because updates can only happen one at a time now.
* This should actually improve performance significantly.. But, see the warning on the next line!
* Warning: If there are deadlocks that the threadpool timer method was hiding, this will expose them for all the nastiness they are.
2008-10-11 11:43:42 +00:00
Melanie Thielker
96689723e5 Add the beginnings of a sim health check (through remote admin) 2008-10-10 01:10:33 +00:00
Homer Horwitz
ac89e89da3 - Fix wrong order of max/min usage for clipping. Uses Util.Clamp now
- Add support for immediate switching of Music/Media URLs. Radio-scripts should work now.
2008-10-08 18:52:50 +00:00
Melanie Thielker
c4d741180f Add some permissions checks and fixes 2008-10-08 02:45:23 +00:00
Justin Clarke Casey
cb7a9eaa09 * Stop the sim stats reporter reusing the same SimStatsPacket for all clients
* I believe this was the cause of the remaining packet_out_of_order messages in the Linden client logs
* There were race conditions where multiple clientstacks would overwrite each other's sequence numbers
2008-10-06 19:52:54 +00:00
Melanie Thielker
8887bde499 Cause inventory items to also be sold when a prim is sold 2008-10-06 06:15:19 +00:00
Melanie Thielker
1b678f062a Fix a number of errors in transfer of objects 2008-10-06 06:08:45 +00:00
Melanie Thielker
6ab5b523f8 Implements ObjectOwner god mode packet (Set Owner To Me admin option) 2008-10-06 00:09:49 +00:00
Homer Horwitz
6bf72c95cb For symmetry reasons, I think this probably is a bug. 2008-10-05 20:06:42 +00:00
Jeff Ames
aab6cdd8b0 Update svn properties, minor formatting cleanup. 2008-10-05 14:15:39 +00:00
Justin Clarke Casey
0b594a072c * Check in the second part of http://opensimulator.org/mantis/view.php?id=2334 since enough time has passed such that servers following head have probably updated
* This patch aims to store look at data when an avatar logs off in grid mode
* However, in my short test it doesn't appear to be working yet - numbers are being stored but they don't look correct
* But this doesn't appear to cause any login problems
* Thanks tyre
2008-10-04 18:46:34 +00:00
Melanie Thielker
74f89fb22d Add "Drop" functionality to pie menu 2008-10-04 01:09:22 +00:00
Melanie Thielker
1b2380db84 Cause objects to be removed from the database when they go temp or get
attached. Also make sure that parcel prim counts get updated
2008-10-03 16:18:38 +00:00
Melanie Thielker
3902149e1b Implement temp-on-rez objecte really being temporary 2008-10-03 15:32:44 +00:00
Melanie Thielker
36097a8198 Prevent attachments to be persisted in the destination region when the
avatar is not present there.
2008-10-03 13:45:54 +00:00
Melanie Thielker
7f007d8ed0 Mantis #1360
Thank you, idb, for a patch to implement the packet and plumbing for
the material settings.
2008-10-03 12:00:13 +00:00
Johan Berntsson
513ce9caee Added functions to find prims by name 2008-10-01 06:39:36 +00:00
Melanie Thielker
57a862bc01 And one more. lThat should make all scripts start for everyone 2008-09-30 14:58:11 +00:00
Adam Frisby
d4c1751285 * Fixed minor issue while building: If you do a raytraced object placement and a target isn't found, the object is rezzed at 0,0,0 - instead now it will place according to the position sent by the client.
* We may instead want to abort and send a "Cannot Rez Here" message?
2008-09-30 14:42:25 +00:00
Justin Clarke Casey
941e20c463 * refactor: move asynchronous scene object deletion to inventory queueing out to a separate class 2008-09-29 19:09:49 +00:00
Justin Clarke Casey
e768602681 * refactor: Rename InventoryModule to InventoryTransferModule 2008-09-29 15:09:35 +00:00