Commit Graph

16454 Commits (64a036b4cf6954f5d001ad04bb8f6d63c28c07a4)

Author SHA1 Message Date
Justin Clark-Casey (justincc) 94b1c16398 Dont' bother with a userAgentService != null check right after we've constructed it 2011-11-15 20:37:49 +00:00
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