Commit Graph

18134 Commits (f8067f02fe949a1721e51660ffd094440993c38a)

Author SHA1 Message Date
Robert Adams f8067f02fe Fix server statistics always reporting zero for total network bytes in/out.
Clean up some parameter code in Statistics.Binary.
2013-04-02 22:08:10 +01:00
Justin Clark-Casey (justincc) 515324a1aa refactor: make llGetLinkName() and llGetLinkKey() use a common GetLinkEntity() method 2013-04-02 22:08:02 +01:00
Justin Clark-Casey (justincc) cc24ba3a91 Fix llGetLinkKey() to return the last sat avatar as the last link number.
As per http://wiki.secondlife.com/wiki/LlGetLinkKey
This is done by keeping a scene-object wide list of sitters.
This also fixes bugs in this function where linknums 0 and 1 weren't treated properly if there were sitting avatars on a single prim.
This also fixes a minor race condition for multiple concurrent sitters on a prim with no current sitters by locking on the object-wide list rather than individual sop lists
Addresses http://opensimulator.org/mantis/view.php?id=6477
2013-04-02 22:04:34 +01:00
Justin Clark-Casey (justincc) 556817e279 minor: remove mono compiler warnings in LSL_Api.cs 2013-04-02 21:57:44 +01:00
Justin Clark-Casey (justincc) 2a81f4db2e Log same environment information to Robust log as is already done for simulator logs, for debug purposes 2013-04-02 21:57:39 +01:00
Justin Clark-Casey (justincc) 3098ad4ab9 refactor: minor cleanup in osGetAvatarList() 2013-04-02 21:57:33 +01:00
Justin Clark-Casey (justincc) 9f1aac82b2 Fix bug in osCauseHealing() if called with an avatar ID for an avatar that is not in the scene. 2013-04-02 21:57:29 +01:00
Justin Clark-Casey (justincc) 60060e7be9 minor: Use more compact libomv primitive constructors in osNpcGetPos() and osNpcGetRot() 2013-04-02 21:57:24 +01:00
Justin Clark-Casey (justincc) 785abe070d Fix minor race conditions in OSSL_Api functions where a parcel could be misidentified for moving prims. 2013-04-02 21:57:20 +01:00
Justin Clark-Casey (justincc) 5526177c32 refactor: Use LSL_Vector(Vector3) constructor in llCastRay() 2013-04-02 21:57:14 +01:00
Justin Clark-Casey (justincc) cbb4086e82 refactor: Use ILandChannel.GetLandObject(Vector3) in LSL_Api rather than having to continually take intermediate Vector3s to avoid race conditions 2013-04-02 21:57:10 +01:00
Justin Clark-Casey (justincc) 6804549428 Add ILandChannel.GetLandObject(Vector3 position) as this is a very common input to GetLandObject()
This conforms to the existing ILandChannel.ParcelsNearPoint() method
2013-04-02 21:57:06 +01:00
Justin Clark-Casey (justincc) cf52e8072c Fix minor race condition in llGetCameraRot() where inconsistent information could be returned for a rotating camera 2013-04-02 21:57:01 +01:00
Justin Clark-Casey (justincc) ac063b4681 Fix minor race condition in llGetCameraPos() where an inconsistent post could be returned for a moving camera 2013-04-02 21:56:56 +01:00
Justin Clark-Casey (justincc) eb29597c6e Fix minor race condition in llParcelMediaCommandList() where a parcel could be misidentified for a moving prim 2013-04-02 21:56:51 +01:00
Justin Clark-Casey (justincc) a935440513 Fix minor race conditions in LSL_Api.GetPrimParams() for PRIM_POSITION, PRIM_SIZE and PRIM_ROT_LOCAL
This function is used by all the various ll*Params() and os*Params() functions
2013-04-02 21:56:44 +01:00
Justin Clark-Casey (justincc) b9d4266400 Fix minor race condition in llGetGeometricCenter() if this was changing whilst the function was called. 2013-04-02 21:56:39 +01:00
Justin Clark-Casey (justincc) 3b13dd56cd refactor: use LSL_Rotation(Quaternion) constructor in lLGetRootRotation() 2013-04-02 21:56:34 +01:00
Justin Clark-Casey (justincc) 213f0e3a12 Fix minor race condition in llGetRootPosition() where inconsistent results could be returned for moving prims 2013-04-02 21:56:29 +01:00
Justin Clark-Casey (justincc) 75c169ffe5 Fix minor race conditions in detecting current parcel for llAddToLandPassList(), llSetParcelMusicURL() and llGetParcelMusicURL() for moving prims 2013-04-02 21:56:23 +01:00
Justin Clark-Casey (justincc) 1c12697232 refactor: use LSL_Vector(Vector3) constructor in llGroundNormal() 2013-04-02 21:56:19 +01:00
Justin Clark-Casey (justincc) 051f21ff65 minor: Reuse ground LSL_Vector in llGroundSlope() rather than creating a new one. 2013-04-02 21:56:13 +01:00
Justin Clark-Casey (justincc) c46a00a1fe Fix minor race conditions in llTeleportAgent(), llTeleportAgentGlobalCoords(), llEjectFromLand() and llOverMyLand() where the wrong parcel could be identified for very fast moving avatars. 2013-04-02 21:56:07 +01:00
SignpostMarv 49a2cfacb9 Implementing operators & constructors for Quaternion 2013-04-02 21:53:42 +01:00
SignpostMarv 4a35f0a305 refactoring for Vector3 operator & constructor tweaks 2013-04-02 21:51:52 +01:00
Justin Clark-Casey (justincc) 078617cff4 refactor: Use LSL_Vector(Vector3) constructor in llGetCenterOfMass() 2013-04-02 21:49:39 +01:00
Justin Clark-Casey (justincc) 6ed5561057 Fix a minor race condition in llInstantMessage() where slightly wrong origin co-ordinates could be given for a fast moving prim 2013-04-02 21:41:59 +01:00
Justin Clark-Casey (justincc) 4531b2274e Fix minor race condition in llGetOmega() where inconsistent results could be returned (accidentally stated that commit 1774c631 was this fix).
Commit 1774c631 was actually a fix for a similar minor race condition in llGetAccel()
2013-04-02 21:41:39 +01:00
Justin Clark-Casey (justincc) b025cdf6be Fix minor race condition in llGetOmega() where a call whilst a prim was changing angular velocity could return inconsistent results 2013-04-02 21:41:33 +01:00
Justin Clark-Casey (justincc) 99a0f76998 refactor: Use LSL_Vector(Vector3) constructor in llGetVel() 2013-04-02 21:41:29 +01:00
Justin Clark-Casey (justincc) 681b07f668 refactor: Use LSL_Vector(Vector3) constructor in llGetTorque() 2013-04-02 21:41:25 +01:00
Justin Clark-Casey (justincc) 608a569bd5 Fix minor race condition in llGetLocalRot() where inconsistent results could be returned if the prim was rotating during the call 2013-04-02 21:41:21 +01:00
Justin Clark-Casey (justincc) 66749eafdd refactor: use cleaner LSL_Rotation quaternion constructor in LSL_Api.GetPartRot() 2013-04-02 21:41:15 +01:00
Justin Clark-Casey (justincc) 2fd9456f4f minor: save some commented out log lines which will be useful again in future debugging of VectorRenderModule 2013-04-02 21:39:33 +01:00
Justin Clark-Casey (justincc) 7af13bcca3 Make C# scripts return correct error line and column numbers instead of failing because they have no linemap.
Adapted fix from http://opensimulator.org/mantis/view.php?id=6571
Thanks Nickel Briand
2013-04-02 21:39:21 +01:00
Justin Clark-Casey (justincc) 85a327dc59 Add DisableInterRegionTeleportCancellation option in [EntityTransfer] section of OpenSim.ini. False by default.
This option allows the simulator to specify that the cancel button on inter-region teleports should never appear.
This exists because sometimes cancellation will result in a stuck avatar requiring relog.
It may be hard to prevent this due to the protocol design (the LL grid has the same issue)
In small controlled grids where teleport failure is practically impossible it can be better to disable teleport cancellation entirely.
2013-04-02 21:39:15 +01:00
Justin Clark-Casey (justincc) adfc8ade9a Improve teleport cancellation in some circumstances, though cancelling teleports is still not recommended.
Previously, hitting the cancel button on a teleport would cancel on the client side but the request was ignored on the server side.
Cancel would still work if the teleport failed in the early stages (e.g. because the destination never replied to early CreateAgent and UpdateAgent messages).
But if the teleport still completed after a delay here or later on, the viewer would become confused (usual symptom appears to be avatar being unable to move/reteleport).
This commit makes OpenSimulator obey cancellations which are received before it sends the TeleportFinish event queue message and does proper cleanup.
But cancellations received after this (which can happen even though the cancel button is removed as this messages comes on a different thread) can still result in a frozen avatar.
This looks extremely difficult and impossible to fix.
I can replicate the same problem on the Linden Lab grid by hitting cancel immediately after a teleport starts (a teleport which would otherwise quickly succeed).
2013-04-02 21:39:09 +01:00
Justin Clark-Casey (justincc) 03983edc3b minor: remove mono compiler warning in SceneObjectUndoRedoTests 2013-04-02 21:39:03 +01:00
Justin Clark-Casey (justincc) 49bb9b383f minor: Remove mono compiler warnings from LSL_ApiHttpTests 2013-04-02 21:38:58 +01:00
Justin Clark-Casey (justincc) 248cb10b24 minor: Remove mono compiler warnings in EventQueueTests 2013-04-02 21:38:54 +01:00
teravus 5201433d8b * Apparently, sometimes texture entries come in from the wire with no default texture defined.. so apply better fallback protection against that. The net result is clients will have their selected textures set when they would have previously had an ignored exception. 2013-04-02 21:38:43 +01:00
teravus 0793e6df25 * Just another one of those new packet blocks causing a null ref. Defaulting to zero length array..... 2013-04-02 21:38:30 +01:00
Justin Clark-Casey (justincc) a74aef6a81 Add code for testing event queue messages recevied on region cross.
This is currently disabled pending an improvement in the test code to properly add avatars when an event queue module is present.
2013-04-02 21:37:12 +01:00
Justin Clark-Casey (justincc) 6fb29865f5 Add regression test for presence crossing between regions on the same simulator.
Unlike a much earlier commented out version of this test, this is done in synchronous mode.
2013-04-02 21:36:49 +01:00
Mic Bowman c5a6b61218 Per discussions with justincc... split the JsonStore type
functions into one for node type and one for value type.
Define and export constants for both nodes and values.
2013-04-02 21:32:18 +01:00
Mic Bowman e6a97e9864 Convert doubles passed back through the MOD interface into LSL_Floats 2013-04-02 21:31:40 +01:00
teravus ca7959c82f * Update LibOMV to f8f8e616b37a7ea22b7922b2331999bc06725bf9
* Add zero length blocks to the new packet blocks to remain compatible with older viewers and avoid a NullRef when _packets_.cs calls the Length parameter..    which adds up the Length property all of the blocks.
2013-04-02 21:20:29 +01:00
Robert Adams 5d187b9b28 Streamline stat registration code in ServerStats. Remove most of the
usage of ProcessCounters which tend to fail oddly and are not supported
everywhere.
2013-04-02 21:14:55 +01:00
Robert Adams 663809479d Make StatsManager default output a little more readable 2013-04-02 21:14:49 +01:00
Robert Adams 452f6894ef Add EventHistogram.GetHistogramAsOSDMap that returns that parameters
about the histogram as well as the values.
2013-04-02 21:14:43 +01:00