| Commit message (Collapse) | Author | Files | Lines |
|
OutPacket() must be called within the m_killRecord lock. Otherwise the following event sequence is possible
1) LLClientView.ProcessEntityUpdates() passes the kill record check for a particular part suspends before OutPacket()
2) Another thread calls LLClientView.SendKillObject() to delete the same part and modifies the kill record
3) The same thread places the kill packet on the Task queue.
4) The earlier thread resumes and places the update packet on the Task queue after the kill packet.
This results in a ghost part in the sim that only goes away after client relog.
This commit also removes the unnecessary m_entityUpdates.SyncRoot locking in SendKillObject.
|
|
|
|
the avatar if prim with no sit target was out of sitting range.
Now, no movement occurs.
Note that you can still sit on a prim with an explicit sit target from any distance, as was the case before.
|
|
list last week.
This means that if the avatar is within 10 meters of the selected target, it sits on it immediately without walking.
Existing autopilot outside this range will be disabled in a later commit
|
|
|
|
|
|
|
|
set LastOwnerID properly so the parts cannot be transferred, circumventing
no trans perms
|
|
|
|
properties packet sends and so one part is not telling a different part what to do. That should be up to the SOG to manage permissions on its parts and notify clients when one of them changes.
|
|
|
|
console prompt
This is to allow broader subsitution in the future. Currently, the only substitions are \R (for region name) and \\ (for a single backslash)
e.g. "Region (\R) " is the current and continuing default prompt
This renames custom_prompt in [Startup] to ConsolePrompt
|
|
terse update
|
|
|
|
animation being run after the scripted one.
|
|
|
|
startupBot() => StartBot()
|
|
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
|
|
|
|
rather than maintaining a separate count
Checking IsConnected is more reliable.
|
|
|
|
|
|
Curiously, a Vector3.ToString() will not display the last two places of the float. In this case, the failure of
the assertion would confusingly report Expected: <0, 0, 0.8454993> But was: <0, 0, 0.8454993> when actual Z figure is 0.845499337
Should fully address http://opensimulator.org/mantis/view.php?id=5779
|
|
|
|
|
|
|
|
marquee-selected deletions of single prims or small link sets nearly
instantaneous
|
|
packet per prim. More to come as we change to make use of this.
|
|
|
|
|
|
server with a fatal exception.
Now, such excpetions are caught by an exception handler and just an error message is shown.
This was the kind of exception causing these fatal server crashes:
APPLICATION EXCEPTION DETECTED: System.UnhandledExceptionEventArgs^M
^M
Exception: System.ArgumentOutOfRangeException: Argument is out of range.
Parameter name: offset exceeds the size of buffer
at System.Net.Sockets.NetworkStream.BeginRead (System.Byte[] buffer, Int32 offset, Int32 size, System.AsyncCallback callback, System.Object state) [0x00000] in <filename unknown>:0
at HttpServer.HttpClientContext.OnReceive (IAsyncResult ar) [0x00000] in <filename unknown>:0 ^M
^M
Application is terminating: True^M
|
|
|
|
|
|
|
|
fully functional and cannot be disabled because that would break timings.
|
|
properly.
|
|
|
|
|
|
Some small
fixes ported from Avination. Some white space fixes.
|
|
Author: Mana Janus <mana@mjm-labs.com>
|
|
start a new line.
|
|
|
|
instead of individual components of a vector/quat
|
|
This is to partially address http://opensimulator.org/mantis/view.php?id=5769
We don't need to call SP.HandleAgentSit() again if we are within 10m since the autopilot won't trigger.
By calling it twice, the position of the sitting NPC was wrongly adjusted, ending up near <0,0,0>.
However, this change does mean that NPCs further than 10m away will not attempt to autopilot to the prim, though this code was broken anyway (is actually a different mechanism to normal NPC movmeent).
Hopefully this can be addressed soon.
|
|
numbered properly even when sets are linked to sets.
|
|
ODEPrim.changevelocity()
|
|
fully changed.
This was meant to help with the script in http://opensimulator.org/mantis/view.php?id=5772 but it doesn't work.
Probably the event is fired before the physics actor has been set up again for the stood avatar.
Fixing that would be much more complicated, but processing the event last of all seems like a good idea in any case.
|
|
than directly.
This isn't a perfect solution since there can be a race between the taint processing and taint setting, as force needs to be reset after processing.
Needs careful locking in the future.
|
|
from previous commit which sort out which iterator is used are left
intact. A discussion is needed as to what constitutes an avatar vs a
ScenePresence.
|
|
the 3 iteration functions so more of them are using the correct
iteration for the action they are performing. The 3 iterators that seem
to fit all actions within OpenSim at this time are:
ForEachAvatar: Perform an action on all avatars (root presences)
ForEachClient: Perform an action on all clients (root or child clients)
ForEachRootClient: Perform an action on all clients that have an avatar
There are still a dozen places or so calling the old
ForEachScenePresence that will take a little more refactoring to
eliminate.
|