Justin Clark-Casey (justincc)
f7b5d17aa2
send a watchdog heartbeat for a poll worker thread when it's actually run
2011-11-17 23:23:57 +00:00
Justin Clark-Casey (justincc)
85170f5d5d
distinguish between FriendsSimConnector and FriendsServiceConnector in log
2011-11-17 23:23:48 +00:00
Justin Clark-Casey (justincc)
66863fdd34
Add number of milliseconds since last update to "show threads"
2011-11-17 23:23:42 +00:00
Justin Clark-Casey (justincc)
6b0553ed7c
Dont' bother with a userAgentService != null check right after we've constructed it
2011-11-17 23:23:35 +00:00
Justin Clark-Casey (justincc)
57cffcd1ec
Remove prebuild reference to now gone PumaCode.SvnDotNet.dll
2011-11-17 23:23:06 +00:00
Justin Clark-Casey (justincc)
78739067d1
Remove unused RegionCommsListener/IRegionCommsListener.
...
All this is now being handled through IEntityTransferModule and SimulationService instead, and has been for some time.
2011-11-17 23:22:57 +00:00
Justin Clark-Casey (justincc)
310c2403b0
remove SceneCommunicationService.OnAvatarCrossingIntoRegion. This stuff is not being used any more - it's now IEntityTransferModule and SimulationService instead
2011-11-17 23:22:48 +00:00
Justin Clark-Casey (justincc)
a88381ba82
Rename FetchFriendslist() -> CacheFriends() and RefetchFriends() -> RecacheFriends() to reflect their intended function
2011-11-17 23:22:27 +00:00
Justin Clark-Casey (justincc)
1fa0c2f9b0
refactor: rename m_NeedsListOfFriends => m_NeedsListOfOnlineFriends to better reflect its actual function
2011-11-17 23:22:16 +00:00
Justin Clark-Casey (justincc)
1069390b3e
For clients that are entering a simulator from initial login, stop executing FriendsModule.FetchFriendslist() asychronously.
...
Executing this asynchronously allows a race condition where subsequent friends fetches hit a cache that FetchFriendsList() had not yet populated.
Changing this to synchronous may improve issues where a user does not see friends as online even though they are.
I don't believe synchronous is a problem here, but if it is, then a more complicated signalling mechanism is required. Locking the cache isn't sufficient.
2011-11-17 23:22:07 +00:00
Justin Clark-Casey (justincc)
3068cc3618
refactor: Don't create a new UUID for passing uuids to client - UUIDs are structs are so not passed by reference (and they're immutable!)
2011-11-17 23:21:59 +00:00
Justin Clark-Casey (justincc)
b5a69833f8
Add test for removing a friendship.
2011-11-17 23:21:40 +00:00
Justin Clark-Casey (justincc)
8b5bacc78b
Improved method doc for AddFriend() - it actually does set up a two-way relationship.
...
Rename IFriendsModule.AddFriend() to AddFriendship()
2011-11-17 23:21:27 +00:00
Justin Clark-Casey (justincc)
8f7f03e7fd
Add test for adding a friend whilst online
2011-11-17 23:20:47 +00:00
Justin Clark-Casey (justincc)
80bea38c07
Add very simple FriendsModuleTests.TestNoFriends()
2011-11-17 23:20:36 +00:00
Justin Clark-Casey (justincc)
9742491a63
doh - correct build break
2011-11-17 23:18:45 +00:00
Justin Clark-Casey (justincc)
acad65a832
Add threads to the watchdog thread list before we start them.
...
Hopefully this wil make "WATCHDOG: Asked to update thread ## which is not being monitored" messages." go away.
2011-11-17 23:18:35 +00:00
Justin Clark-Casey (justincc)
b527901556
As with prim sitting avatars, make an avatar phantom when it sits on the ground and solid again when it stands.
...
This is to avoid http://opensimulator.org/mantis/view.php?id=5783 when a collision with a ground sitting avatar causes that avatar to automatically stand and sometimes not be able to move
A better solution may be to keep gound sitting avatars solid but remove their collision status. However, this requires some physics code work.
2011-11-17 23:18:24 +00:00
Justin Clark-Casey (justincc)
3c9654d5d6
Bump warp sit distance up to 10 meters, as discussed on opensim-dev mailing 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
2011-11-17 22:48:10 +00:00
Justin Clark-Casey (justincc)
4be42b3f75
Get some hopefully more useful exception information when OpenJPEG.EncodeFromImage() fails in VectorRender and DynamicTexture modules
2011-11-02 19:08:01 +00:00
Justin Clark-Casey (justincc)
6a994f8c9c
Fix race condition that would sometimes send or save appearance for the wrong avatar.
...
In AvatarFactoryModule.HandleAppearanceUpdateTimer(), we loop through appearance save and send requests and dispatch via a FireAndForget thread.
If there was more than one request in the save or send queue, then this led to a subtle race condition where the foreach loop would load in the next KeyValuePair before the thread was dispatched.
This gave the thread the wrong avatar ID, leaving some avatar appearance cloudy since appearance data was never sent.
This change loads the fields into local references so that this doesn't happen.
2011-11-02 19:07:56 +00:00
Justin Clark-Casey (justincc)
f9e6e32ce2
Catch any exceptions exiting the top of the robust console, as we already do for the main simulator.
...
This prevents issues such as transient mono console problems from crashing the server.
2011-11-02 19:00:56 +00:00
Melanie
6bbf4fdc0f
Plug a security hole in the inventory service
2011-11-02 18:59:54 +00:00
Dan Lake
10aee2f0ec
Fix line endings
2011-11-02 18:59:47 +00:00
Dan Lake
0ed6149463
Experimental reorder of Heartbeat loop now simulates physics and sends updates to clients prior to sleep. Existing behavior was to sleep BEFORE sending updates. We found this patch reduced latency to clients by 1-2 heartbeat periods.
2011-11-02 18:59:38 +00:00
Justin Clark-Casey (justincc)
a64be59c3b
Add missing max_listens_per_region to [LL_Functions] config section in OpenSimDefaults.ini + explanation.
...
This setting controls the maximum number of listeners in a region
2011-11-02 18:59:30 +00:00
Justin Clark-Casey (justincc)
b720454950
Remove the SyncRoot locking from Scene which was only being done around the main physics loop and ScenePresence position and velocity setting
...
This is no longer necessary with ODECharacter taints (ODEPrim was already not taking part in this). BSCharacter was already tainting.
2011-11-02 18:57:04 +00:00
Justin Clark-Casey (justincc)
dd3dc5cd91
Add taint target velocity for ODECharacters as is already done for ODECharacter position and position and velocity for ODEPrims.
...
This is to help stop surprises if the velocity is set in the middle of physics calculations, though this probably isn't a huge problem.
It's more for consistency and for the next step of removing some scene locks
2011-11-02 18:51:55 +00:00
Justin Clark-Casey (justincc)
9cd94ac6ec
tidy up OdeCharacter so that we just use OpenMetaverse.Vector3 assignment directly where possible, instead of transferring X, Y and Z components separately
...
some of this is probably a hold over from using ODE.Vector3, which is still necessary in some places.
2011-11-02 18:51:46 +00:00
Justin Clark-Casey (justincc)
2cc49d7d9a
Move position set from taint to logically better position at top of ODECharacter.ProcessTaints() though this makes no practical difference
2011-11-02 18:51:31 +00:00
Justin Clark-Casey (justincc)
69e11af475
Stop setting _position as well as m_taint_position in ODECharacter.Position
...
setting position at the same time as taint appears to undermine the whole purpose of taint
testing doesn't reveal any obvious regressions in doing this
2011-11-02 18:51:20 +00:00
Dan Lake
aa6915f1ba
Continuation of previous checkin. Found more places where ForEachScenePresence can be changed to ForEachRootScenePresence.
2011-11-02 18:50:17 +00:00
Dan Lake
b36ff0fd24
Added new ForEachRootScenePresence to Scene since almost every delegate passed to ForEachScenePresence checks for !IsChildAgent first. It consolidates child and root handling for coming refactors.
2011-11-02 18:48:21 +00:00
Justin Clark-Casey (justincc)
a16c9206b4
For now, comment out error message on new script engine console commands.
...
This causes false positives if a simulator has more than 1 region and the current region is 'root' since this sends the command separately to each region and each region has its own XEngine
2011-10-28 22:19:46 +01:00
Justin Clark-Casey (justincc)
b5b2541d1a
Comment out inventory folder bulk update code on InventoryAccepted message introduced in commit db91044
on Aug 22 2011
...
This should be unecessary since the folder update is already made at the time of the offer (and moved to trash if not accepted).
This code was also not taking into account the situation where an item was accepted.
Needs more fixing if this results in an aggression elsewhere.
2011-10-28 22:19:36 +01:00
Justin Clark-Casey (justincc)
1baadac59a
Don't blow our brains out if LLClientView.BulkInventoryUpdate() is wrongly passed a null node reference.
...
Addresses worst aspect of http://opensimulator.org/mantis/view.php?id=5752
2011-10-28 22:19:26 +01:00
Justin Clark-Casey (justincc)
88ef35cb23
Fix a bug I introduced yesterday in ODE physics where prim scripts would only receive the very first collision.
2011-10-28 22:19:17 +01:00
Justin Clark-Casey (justincc)
05dff4987b
Restart the event queue worker threads that I accidentally disabled earlier today in 8a0a78c
.
...
Also adds these to the watchdogs with very large timeouts (should really be infinite)
2011-10-28 22:19:04 +01:00
Justin Clark-Casey (justincc)
e1e0f20c7f
In Watchdog, add ability to specific timeout for a thread.
...
This also changes the point of registration to the StartThread() call rather than the first Update()
2011-10-28 22:18:56 +01:00
Justin Clark-Casey (justincc)
70d559d1af
Add m_threads dictionary locking to Watchdog.GetThreads()
2011-10-28 22:18:48 +01:00
Justin Clark-Casey (justincc)
6c92b48143
Clear OdeCharacter CollisionEventUpdate when we subscribe or unsubscribe from collision events
2011-10-28 22:18:42 +01:00
Justin Clark-Casey (justincc)
127626edd8
Remove unused fields from CollisionEventUpdate
2011-10-28 22:18:35 +01:00
Justin Clark-Casey (justincc)
aba26c098d
Get rid of the pointless null checks on collision listeners. Add warning about synchronicity for PhysicsActor.OnCollisionUpdate event doc
2011-10-28 22:18:23 +01:00
Justin Clark-Casey (justincc)
9f19405490
When sending object collision updates, don't null out and recreate the CollisionEventUpdate() if the number of collisions falls to zero. Reuse the existing one instead.
2011-10-28 22:18:17 +01:00
Justin Clark-Casey (justincc)
871f1d0ae7
For ScenePresence collision events, instead of creating a new CollisionEventsThisFrame every time we need to send some new ones, reuse the existing one instead.
...
This assumes that the listener is using the data synchronously, which is currently the case.
2011-10-28 22:18:11 +01:00
Justin Clark-Casey (justincc)
057b78bfbe
Fix bug where collision event listeners were not removed once the listener had gone away.
...
This was causing continuous use of temporary memory even when all avatars had left the scene.
Memory does leak but it does cause more calls to the garbage collector, which would pause the scene thread for a very short while during collection.
2011-10-28 22:18:03 +01:00
Justin Clark-Casey (justincc)
d4fc07aae1
minor: rename a parameter in OdeScene.Simulate() from actor -> prim since it's an OdePrim
2011-10-28 22:17:55 +01:00
Justin Clark-Casey (justincc)
750e8ec3da
Add new LindenCaps test dll to panda run as well as "nant test"
2011-10-28 22:17:44 +01:00
Justin Clark-Casey (justincc)
15142093ad
minor: add "threads show" as synonym for "show threads" for consistency
2011-10-28 22:17:32 +01:00
Justin Clark-Casey (justincc)
f050f0fc0b
Add "threads abort <thread-id>" simulator console command that allows us to abort a watchdog managed thread.
...
This is for diagnostic purposes.
2011-10-28 22:17:20 +01:00