Justin Clark-Casey (justincc)
828e4a5b09
Add comments about trying to avoid synchronous work off the EventManager.OnMakeRootAgent event since this is on the critical path for transfer of avatars from one region to another.
2011-11-15 20:26:42 +00:00
Justin Clark-Casey (justincc)
e16d7fe1da
Instead of having scene add/remove collision events directly to the OdeScene collision event dictionary, marshall them via a change dictionary first.
...
This is to avoid a complicated tri-thread deadlock on region crossing for avatars with attachments, where
1) XEngine starting up scripts can lock XEngine.m_Scripts and then try to lock OdeScene._collisionEventPrim while starting up a script due to avatar border crossing
2) An existing collision event will lock OdeScene._collisionEventPrim and then try to lock SP.m_attachments while trying to send the collision event to attachments
3) The avatar still entering the region will lock SP.m_attachments and then try to lock m_Scripts to start more attachment scripts.
2011-11-15 20:02:09 +00:00
Justin Clark-Casey (justincc)
45c7789b54
use a more efficient dictionary in OdeScene._collisionEventPrim rather than a list
2011-11-15 19:42:33 +00:00
Justin Clark-Casey (justincc)
a3c5f76942
Removed unused and mostly commented out SceneCommunicationService methods
...
As far as I can see, the SCS is only now used for informing neighbours of up/down status and possibly sending child agent updates and close requests
2011-11-15 18:16:43 +00:00
Justin Clark-Casey (justincc)
affec18625
Remove prebuild reference to now gone PumaCode.SvnDotNet.dll
2011-11-15 17:40:13 +00:00
Justin Clark-Casey (justincc)
20f26eeb17
Remove unused RegionCommsListener/IRegionCommsListener.
...
All this is now being handled through IEntityTransferModule and SimulationService instead, and has been for some time.
2011-11-15 17:38:55 +00:00
Justin Clark-Casey (justincc)
64784bc0cf
remove SceneCommunicationService.OnAvatarCrossingIntoRegion. This stuff is not being used any more - it's now IEntityTransferModule and SimulationService instead
2011-11-15 17:30:58 +00:00
Justin Clark-Casey (justincc)
430821d837
Rename FetchFriendslist() -> CacheFriends() and RefetchFriends() -> RecacheFriends() to reflect their intended function
2011-11-15 16:12:35 +00:00
Justin Clark-Casey (justincc)
2b5b4ac167
refactor: rename m_NeedsListOfFriends => m_NeedsListOfOnlineFriends to better reflect its actual function
2011-11-15 16:05:08 +00:00
Justin Clark-Casey (justincc)
50803dfe2c
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-15 15:57:53 +00:00
Justin Clark-Casey (justincc)
8d0aaa359f
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-15 15:05:10 +00:00
Justin Clark-Casey (justincc)
89632f3ea8
Add test for removing a friendship.
2011-11-14 20:56:56 +00:00
Dan Lake
ed19284d85
Merge branch 'remove-scene-viewer'
2011-11-14 12:37:48 -08:00
Justin Clark-Casey (justincc)
e5ff7f389b
Improved method doc for AddFriend() - it actually does set up a two-way relationship.
...
Rename IFriendsModule.AddFriend() to AddFriendship()
2011-11-14 20:31:16 +00:00
Justin Clark-Casey (justincc)
a64def8b73
minor: remove some mono compiler warnings
2011-11-14 18:16:14 +00:00
Justin Clark-Casey (justincc)
348d15707d
Add test for adding a friend whilst online
2011-11-14 18:08:02 +00:00
Justin Clark-Casey (justincc)
de895ee54a
Add very simple FriendsModuleTests.TestNoFriends()
2011-11-14 17:18:51 +00:00
Justin Clark-Casey (justincc)
ff36a1bc7b
If a friends identifier which is too short is given to HGFriendsModule.GetOnlineFriends() then spit out a warning rather than failing on the String.Substring().
...
This is to progress http://opensimulator.org/mantis/view.php?id=5789
2011-11-14 16:06:06 +00:00
Justin Clark-Casey (justincc)
49ec85ae15
Do a ScenePresence null check in HGMessageTransferModule.SendIMToScene() to stop a NullReferenceException being thrown if an HG IM is sent to a simulator running multiple regions
...
This is an attempt to address http://opensimulator.org/mantis/view.php?id=5791
2011-11-14 15:24:02 +00:00
Dan Lake
5fd1749150
Remove SceneViewer from ScenePresence to reduce quadruple queueing of
...
prim update to only triple queuing. Existing method was:
1. Schedule prim for update, adding to scene update list
2. Update on SOGs during heartbeat queues update onto each SceneViewer
3. Update on SPs during heartbeat queues update onto each IClientAPI
4. ProcessEntityUpdates queues updates into UDP send stack
Now the SceneViewer has been eliminated so updates are scheduled at any
time and then put onto the IClientAPI priority queues immediately during
SceneGraph.UpdateObjectGroups.
2011-11-11 17:16:52 -08:00
Justin Clark-Casey (justincc)
e61ea79c72
doh - correct build break
2011-11-12 00:27:43 +00:00
Justin Clark-Casey (justincc)
f130e1a86f
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-12 00:24:45 +00:00
Justin Clark-Casey (justincc)
25c32061e4
Make log messages on authentication failure more explicit
2011-11-11 23:45:08 +00:00
Justin Clark-Casey (justincc)
6adaf1be74
extract common ScenePresence setup code into Init() method for ScenePresenceSitTests
2011-11-11 23:36:35 +00:00
Justin Clark-Casey (justincc)
84ad23234b
add SP.PhysicsActor checks to other sit/stand tests
2011-11-11 23:33:55 +00:00
Justin Clark-Casey (justincc)
acaf6937c5
add sit and stand on ground test
2011-11-11 23:32:43 +00:00
Justin Clark-Casey (justincc)
a3052e40ad
extract ground sit code into SP.HandleAgentSitOnGround() for consistency with other sitting code.
2011-11-11 23:28:32 +00:00
Justin Clark-Casey (justincc)
6ce3daff94
Pick up the intended ConsolePrompt from [Startup] instead of console_prompt.
...
Addresses http://opensimulator.org/mantis/view.php?id=5786
2011-11-11 23:15:53 +00:00
Justin Clark-Casey (justincc)
2a2cdaa211
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-11 23:10:43 +00:00
Justin Clark-Casey (justincc)
ce8441132e
Restore sending of OutPacket() for object kills removed in commit c7dd7b1
.
...
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.
2011-11-11 22:37:57 +00:00
Justin Clark-Casey (justincc)
2a7f4e0602
remove unncessary IClientAPI parameter from SP.SendSitResponse()
2011-11-11 21:53:00 +00:00
Justin Clark-Casey (justincc)
b1cb4f5b04
As per mailing list last week, remove facility that would automatically move 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.
2011-11-11 21:42:58 +00:00
Justin Clark-Casey (justincc)
a658bddbcd
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-11 19:59:12 +00:00
Justin Clark-Casey (justincc)
01518de0bf
update minimum mono version
2011-11-11 19:43:42 +00:00
Justin Clark-Casey (justincc)
8f4955f6a9
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2011-11-11 19:40:31 +00:00
Justin Clark-Casey (justincc)
dc200d7bb5
Add new ScenePresenceSitTests with a single sit/stand test
2011-11-11 19:38:36 +00:00
nebadon
ad28238ece
one more jenkins test!
2011-11-10 21:40:11 -07:00
nebadon
84ce0b487b
one more test of jenkins!
2011-11-10 21:31:06 -07:00
nebadon
53528b0372
one more round with leeeeeeeeeeroy jaaaaaaenkins!
2011-11-10 21:22:07 -07:00
nebadon
de24e93a1f
take two on jenkins testing!
2011-11-10 20:58:38 -07:00
nebadon
621fb9aba0
test push to see if sir jenkins responds!
2011-11-10 20:54:33 -07:00
Dan Lake
10e664eedc
Fix compile error from an earlier commit
2011-11-10 17:37:33 -08:00
Dan Lake
7432ca6daf
Merge branch 'master' of git://opensimulator.org/git/opensim
2011-11-10 17:21:49 -08:00
Dan Lake
96c59156a7
In SOP, replaced many references to private members with the public properties
2011-11-10 17:21:37 -08:00
Melanie
a5838cf0a6
Prevent linking objects while they are deeded. On unlinking deeded objects,
...
set LastOwnerID properly so the parts cannot be transferred, circumventing
no trans perms
2011-11-11 00:28:12 +00:00
Melanie
2bd4eaeb19
Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
2011-11-10 23:43:29 +00:00
Melanie
0daece6f2b
Fix turn left and turn right properly. Works for both built-ins and LSL AOs
2011-11-10 23:42:48 +00:00
Dan Lake
8fbaa10ade
Merge branch 'master' of git://opensimulator.org/git/opensim
2011-11-10 15:23:16 -08:00
Dan Lake
9359293b11
Cleaned UpdatePermissions calls on SOP and SOG to eliminate redundant 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.
2011-11-10 15:20:21 -08:00
Melanie
f5abae5ac6
Implement nudging support for strafing motion
2011-11-10 23:03:05 +00:00