| Commit message (Collapse) | Author | Files | Lines |
|
multiple scripts in the same linkset can cause unnecessary thread aborts.
The first llDie() could lock Scene.m_deleting_scene_object.
The second llDie() would then wait at this lock.
The first llDie() would go on to remove the second script but always abort it since the second script's WorkItem would not go away.
Easiest solution here is to remove the m_deleting_scene_object since it's no longer justified - we no longer lock m_parts but take a copy instead.
This also requires an adjustment in XEngine.OnRemoveScript not to use instance.ObjectID instead when firing the OnObjectRemoved event.
|
|
|
|
This is rather than checking whether the avatar is sitting and doing its own calculation.
|
|
this is handled by the necessary ParentPart check
|
|
(saving extra null checks, etc.)
However, it looks like we should retain SP.ParentID since it's much easier to use that in places where another thread could change ParentPart to null.
Otherwise one has to clumsily put ParentPart in a reference, etc. to avoid a race.
|
|
(part != null), rather than having unnecessary multiple checks
|
|
ParentPart is still not null if the ParentID != 0
Another thread could come in and stand the avatar between those two instructions.
|
|
the check for significant is carried out. Prevents a deadlock condition.
|
|
are still lowercase.
Also convert the estate commands to simply AddCommand() calls so that commands from two different modules can be placed in the same category
|
|
<category/module>" to display commands in a category.
This is to deal with the hundred lines of command splurge when one previously typed "help"
Modelled somewhat on the mysql console
One can still type help <command> to get per command help at any point.
Categories capitalized to avoid conflict with the all-lowercase commands (except for commander system, as of yet).
Does not affect command parsing or any other aspects of the console apart from the help system.
Backwards compatible with existing modules.
|
|
|
|
We can now do this since the entire scene and all objects within it are now successfully gc'd at the end of these tests.
This greatly improves the time taken to run each test (by reducing teardown time, not the time to actually do the test work that we're interested in).
Slightly simplifies config read in Scene constructor to help facilitate this.
|
|
and OnNewScript in the event manager
OnNewScript fires when a script is added to a scene
OnRezScript fires when the script actually runs (i.e. after permission checks, state retrieval, etc.)
|
|
status" command.
This is for diagnostic purposes.
|
|
|
|
This is another step necessary for the scene to be garbage collected between performance tests
|
|
Scene.PipeEventsForScript()
|
|
allowed to run rather than checking its own prim.
This allows scripts to run in child prims that are outside region boundaries.
This is an interim patch applied from http://opensimulator.org/mantis/view.php?id=5899 though it does not resolve that bug
Thanks tglion!
|
|
|
|
|
|
parameters. They were only used by the get/set and make code harder to refactor.
|
|
This is how it was originally. This stops a very long running alarm callback from causing a problem.
|
|
|
|
On the first frame, all startup scene objects are added to the physics scene.
This can cause a considerable delay, so we don't start raising the alarm on scene loop timeouts until the second frame.
This commit also slightly changes the behaviour of timeout reporting.
Previously, a report was made for the very first timed out thread, ignoring all others until the next watchdog check.
Instead, we now report every timed out thread, though we still only do this once no matter how long the timeout.
|
|
banlines or freezing on the banline.
This involves
1) On forcible teleport, call m_scene.RequestTeleportLocation() rather than ScenePresence.Teleport() - only EntityTransferModule now should call SP.Teleport()
2) When avatar is being forcibly moved due to banlines, use a 'stop movement' tolerance of 0.2 to requested position rather than 1
This prevents the avatar sometimes being stuck to banlines until they teleport somewhere else.
This aims to fix some problems in http://opensimulator.org/mantis/view.php?id=5822
|
|
potential bad update that places an object at the opposite side of the
origin sim for a moment before actually crossing it. Especially important in
grids like OSG where lag between sims is high.
|
|
constructor and never subsequent set to null.
|
|
This is a valid check because the caller could supply an invalid uuid.
|
|
This fixes the problem by fixing the permissions module to look at root part permissions rather than having to do this for every caller.
Resolves http://opensimulator.org/mantis/view.php?id=5569
|
|
http://opensimulator.org/mantis/view.php?id=5569"
This reverts commit 15ce73caca9ea6448e34b95d344cbbf5c9507f6d.
As per the COMMENTS in http://opensimulator.org/mantis/view.php?id=5569, I was going to fix this in a more general way.
|
|
http://opensimulator.org/mantis/view.php?id=5569
|
|
that had come up after the NPC was created.
|
|
blacklist them for 2 min, so that we don't keep doing remote calls that fail.
|
|
|
|
concurrent uses of the same TCP connection, and even of the connections to the same server. So let's stop doing it. This patch makes movement much smoother when there are lots of neighbours.
|
|
|
|
http://opensimulator.org/mantis/view.php?id=5893
Signed-off-by: nebadon <michael@osgrid.org>
|
|
|
|
|
|
not persist.
Resolves http://opensimulator.org/mantis/view.php?id=5819
|
|
AvatarFactoryModule after an avatar's appearance has been succesfully changed and persisted (if the persist option is set).
|
|
|
|
|
|
http://opensimulator.org/mantis/view.php?id=5404
|
|
points) print out one short message listing the failing node names rather than lots of exceptions.
Adds skeleton bad float values deserialization test
|
|
update when scene objects have been deleted.
At least on mono 2.6.4, running GC.Collect() is not guaranteed to force gc of all objects when run in the same method where those objects had references.
Therefore, GC.Collect() is now being done in the per-script teardown of ObjectTortureTests.
In addition, scene loop update is being run after garbage collection in order to clean out the viewer update list of scene objects in the SceneGraph.
These measures mean that scene objects/parts are now garbage collected after a test run if deleted from the scene, resulting in a much better memory usage report (though probably still not very accurate).
However, deletion takes a very long time - what's really needed is to find out now why the entire scene isn't being GC'd by this measure.
This change hasn't yet been applied to the other stress tests.
|
|
|
|
|
|
than ERROR. Restore extra log message if shape processing fails.
Logging level was DEBUG before 312e145 (Fri Feb 3 2012).
312e145 also accidentally removed the 'general error' log message if any shape deserialization failed.
This commit restores it, though this has no functional impact.
|
|
complexity of code analysis
|