Justin Clark-Casey (justincc)
2ca31a9841
Remove accidental timeout left in during earlier debugging. Has been in since two commits ago ( b099f26
)
2012-06-12 02:46:14 +01:00
Justin Clark-Casey (justincc)
1b1f0a2d77
OnConnectionClosed listeners, retrieve data from IClientAPI.SceneAgent rather than scanning all scene for the presence with the right id
...
Stop checking IsLoggingOut on these listeners, if called with a root agent then we always want to perform these actions.
This covers cases where the client is closed due to manual kick, simulator shutdown, etc.
2012-06-12 02:43:33 +01:00
Justin Clark-Casey (justincc)
b099f26376
Set IClientAPI.IsActive = false early on client removal due to ack timeout rather than using IsLoggingOut flag.
...
IsActive is more appropriate since unack timeout is not due to voluntary logout.
This is in line with operations such as manual kick that do not set the IsLoggingOut flag.
It's also slightly better race-wise since it reduces the chance of this operation clashing with another reason for client deactivation (e.g. manual kick).
2012-06-12 02:16:36 +01:00
Justin Clark-Casey (justincc)
c89db34fc4
If the simulator closes a root agent due to ack timeout, then send the client a kick message with that reason, in case it is somehow still listening.
2012-06-12 02:03:31 +01:00
Justin Clark-Casey (justincc)
8c7149063b
In PresenceDetector.OnConnectionClose(), use the IsChildAgent check already available on IClientAPI.SceneAgent rather than retrieving it again by scanning all scenes.
2012-06-12 01:25:09 +01:00
Justin Clark-Casey (justincc)
bab7dab4c5
Comment out the scene presence sitting debug log messages for now
2012-06-11 23:37:16 +01:00
Justin Clark-Casey (justincc)
daad0a3e11
Revert "Bind ~ and ! operators in LSL tighter in order to resolve issues in LSL where these aren't evaluated propertly."
...
This reverts commit a8a9d13dc0
.
Accidentally committed, this patch might not be the correct approach.
2012-06-11 23:30:58 +01:00
Justin Clark-Casey (justincc)
a927787434
Add last frame time monitor to MonitorModule now that this value is useful
2012-06-11 23:30:11 +01:00
Justin Clark-Casey (justincc)
cbb5ddd944
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-06-11 23:27:48 +01:00
Melanie
71ba85137f
Commitig the Avination implementation of llTeleportAgent and
...
llTeleportAgentGlobalCoords. These do NOT use PERMISSION_TELEPORT like
their SL counterparts because that permission is not yet understood by TPVs
based on v1.x.
2012-06-11 16:45:52 +01:00
Justin Clark-Casey (justincc)
a8a9d13dc0
Bind ~ and ! operators in LSL tighter in order to resolve issues in LSL where these aren't evaluated propertly.
...
Addresses http://opensimulator.org/mantis/view.php?id=3268
2012-06-09 05:11:08 +01:00
Justin Clark-Casey (justincc)
817f2d341d
Fix regression in 5f4f9f0
(Fri Jun 8 2012) which stopped "show stats" and json stats from working
2012-06-08 23:36:53 +01:00
Justin Clark-Casey (justincc)
794d184c25
Stop sending a DisableSimulator packet in LLClientView.Close(), which is a duplicate for child agents and unnecessary for root agents.
...
Close() already calls Scene.RemoveClient() which sends the right eq or udp DisableSimulator message to child agents.
2012-06-08 04:32:51 +01:00
Justin Clark-Casey (justincc)
f94b92df46
Instead of retrieving the known client again in LLUDPServer.RemoveClient(), check the IsLoggingOut flag instead.
...
This is slightly better thread-race wise
2012-06-08 04:12:22 +01:00
Justin Clark-Casey (justincc)
c215b1ad16
If logging a client out due to ack timeout, do this asynchronously rather than synchronously on the outgoing packet loop.
...
This is the same async behaviour as normal logouts.
This is necessary because the event queue will sleep the thread for 5 seconds on an ack timeout logout as the client isn't around to pick up the final event queue messages.
2012-06-08 03:53:03 +01:00
Justin Clark-Casey (justincc)
5f4f9f0230
Add regression test for client logout due to ack timeout.
2012-06-08 03:12:23 +01:00
Justin Clark-Casey (justincc)
d73805d7f4
Remove null checks at top of LLUDPServer.ProcessInPacket(). Neither packet nor client are ever null.
2012-06-08 01:51:28 +01:00
Justin Clark-Casey (justincc)
d71c6dea7e
Store already retrieve IClientAPI in IncomingPacket structure for later use rather than doing another retrieve on dequeue.
...
Instead of checking whether the client still exists by trying to retrieve again from the client manager, this patch gets it back from IncomingPacket and checks the IClientAPI.IsActive state.
2012-06-08 01:43:58 +01:00
Justin Clark-Casey (justincc)
30f4a33f01
Don't make duplicate call to ScenePresence.Close() separately in ETM.DoTeleport() if an agent needs closing.
...
This is always done as part of Scene.RemoveClient()
Also refactors try/catching in Scene.RemoveClient() to log NREs instead of silently discarding, since these are useful symptoms of problems.
2012-06-08 01:26:43 +01:00
Justin Clark-Casey (justincc)
5c162ccd57
Go back to calling IncomingCloseAgent() in the "kick user" command for consistency instead of IClientAPI.Close() directly.
...
This no longer double counts child agent removals
2012-06-08 00:59:39 +01:00
Justin Clark-Casey (justincc)
d547bcf8d1
Remove duplicate update of user count in Scene.IncomingCloseAgent()
...
This is already done in Scene.RemoveClient() which IncomingCloseAgent() always ends up calling.
2012-06-08 00:40:38 +01:00
Justin Clark-Casey (justincc)
b56673c920
Fix bug with "kick user" reducing agent counts by 2 instead of 1.
...
This is done by making the kick user command call IClientAPI.Close() rather than routing through Scene.IncomingCloseAgent(), which also called IClientAPI.Close()
DisableSimulator for child agents is moved from IncomingCloseAgent() to RemoveClient(), this is not a functional change since IncomingCloseAgent() always ends up calling RemoveClient()
2012-06-08 00:18:25 +01:00
Justin Clark-Casey (justincc)
0c5fefacb4
Record the fact that child agents can have asset transactions.
...
Also change code to grab the agent asset transaction module once.
2012-06-07 23:51:04 +01:00
Justin Clark-Casey (justincc)
de87e4871b
Don't send kill object messages to clients when a child agent is closed.
2012-06-07 23:35:21 +01:00
Justin Clark-Casey (justincc)
7550b97e65
Log warning if we try to remove a UDP client that has already been removed.
2012-06-07 04:00:29 +01:00
Justin Clark-Casey (justincc)
98b46d48fe
Allow the thread watchdog to accept an alarm method that is invoked if the timeout is breached.
...
This alarm can then invoke this to log extra information.
This is used in LLUDPServer to show which client was being processed when incoming and outgoing udp watchdog alarms are triggered.
2012-06-07 02:44:13 +01:00
Justin Clark-Casey (justincc)
514dd85199
minor: Change log messages on Warp3DImageModule to show they are from this module
2012-06-06 04:18:38 +01:00
Justin Clark-Casey (justincc)
53c25a4778
Rename MapImageModule for Warp3D to Warp3DImageModule to match its class name and make it easier to distinguish between map image modules.
2012-06-06 04:15:00 +01:00
Justin Clark-Casey (justincc)
2b0de66216
Actively dispose of Bitmaps in Warp3D image module and world map module once we've finished with them.
...
This might help with memory leakage issues though I suspect it won't.
2012-06-06 04:11:16 +01:00
SignpostMarv
3b25021180
enabling all corners of a sim to be set in one call
2012-06-06 02:47:47 +01:00
Justin Clark-Casey (justincc)
abf94627f6
Ensure closure of bitmap and memory stream with using() statements in WorldViewModule.
...
If this has any effect then it will only be to the map images returned via requests to the /worldview simulator HTTP path (not enabled by default)
2012-06-06 02:45:36 +01:00
Justin Clark-Casey (justincc)
6adc810eaa
Stop accidentally reading 4 Int16s instead of 2 in SIZE section of Terragen file when loaded from a stream.
...
Fixes a bug introduced 2 weeks ago in 67ebe80
Thanks to Plugh for pointing this out.
2012-06-05 19:40:16 +01:00
Justin Clark-Casey (justincc)
a5410c2c19
minor: Add user feedback when executing fix-phantoms
2012-06-05 01:37:40 +01:00
Justin Clark-Casey (justincc)
42179578fc
Allow fix-phantoms command to appear even if CombineContiguousRegions = false, since this allows one to go back from a megaregion to normal regions.
...
Adapted from a patch by Garmin Kawaguichi in http://opensimulator.org/mantis/view.php?id=6027
Garmin says that fix-phantoms allows one to reset objects when going back from megaregion to normal regions as well as the othe rway around.
Thanks!
2012-06-05 01:33:58 +01:00
Talun
008c6a4610
Mantis 4597 AgentPaused packet is ignored.
...
The packet was actually being handled but not acted on.
This change extends the default timeout for paused clients to 5 minutes
and makes both the paused and non-paused timeout periods configurable.
2012-06-05 01:22:05 +01:00
Justin Clark-Casey (justincc)
01280e9b94
Remove unused ScenePresence list structure in llGetAgentList()
2012-06-05 00:34:18 +01:00
Justin Clark-Casey (justincc)
96d1ba90d7
Scale down per frame MS stats to match scaled simulator FPS stat.
...
This makes frame time stats properly tally with fps, which saves confusion and makes it easier to interpret numbers.
In some ways this is not so artifical - physics FPS runs at the higher rate.
2012-06-05 00:27:51 +01:00
Justin Clark-Casey (justincc)
655625ab87
Start sending spare frame time MS viewer stat. Make frame time correctly display total frame time, not just non-spare time.
...
This makes it easier to see when components of frame time exceed normal permitted frame time.
Currently reflect scene frame times.
2012-06-05 00:17:55 +01:00
Justin Clark-Casey (justincc)
c3d9acc9a9
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2012-06-05 00:15:29 +01:00
Justin Clark-Casey (justincc)
a7f4804f53
Properly show per frame millisecond statistics per frame, not as amount of time taken per second.
...
This is to make these statistics actually match their names (and also be more accurate as number of frames can vary under heavy load)
Currently using scene frames (11.23 every second) instead of physics frames (56.18 per second)
2012-06-04 23:07:53 +01:00
BlueWall
3229e32b4e
Add replaceable region modules to the "show modules" command
2012-06-04 17:25:38 -04:00
Melanie
d9d4fb10d9
Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
2012-06-04 18:22:43 +01:00
Robert Adams
f94ef37b46
Correct the delegate specification in EventManager.TriggerTerrainTainted. Looks like the wrong one was cut and pasted.
2012-06-04 10:26:39 -07:00
Melanie
5c646e2603
Remove the "Profile" config as it's covered by the replaceable interface
2012-06-04 18:22:09 +01:00
Justin Clark-Casey (justincc)
72219eae7d
Instead of updating sim stats root agent, child, objects and scripts accounts every single scene frame, update in the once every 3 seconds SimStatsReporter run
2012-06-01 04:47:11 +01:00
Justin Clark-Casey (justincc)
6375db1533
Add optional total avatars, total prims and active prims stats to ODE plugin.
...
These will act as a sanity check with the main scene stats, to show that physics scene entities are being managed properly.
Total prims will not match scene total prims since physics total does not include phantom prims
2012-06-01 04:23:36 +01:00
Justin Clark-Casey (justincc)
4e06a46dc5
If OdeScene.Near() returns no collision contacts, then exit as early as possible. All subsequent code is only relevant if there are contacts.
2012-06-01 04:07:39 +01:00
Justin Clark-Casey (justincc)
200376b3c4
Add optional stat for the other collision time per frame not spent in ODE native spaces or geom collision code
2012-06-01 03:49:42 +01:00
Justin Clark-Casey (justincc)
d34b84b531
Add avatar forces calculation, prim force and raycasting per frame millisecond optional stats
2012-06-01 03:23:19 +01:00
Justin Clark-Casey (justincc)
9ff8efc720
Collection optional avatar and prim taint frame millisecond times
2012-06-01 03:03:48 +01:00