Commit Graph

8213 Commits (f5e3d5a33a45196fa447c2ece764653349290d7a)

Author SHA1 Message Date
Justin Clark-Casey (justincc) 7383173d3d extend m_entityUpdates.SyncRoot lock in LLClientView.ProcessEntityUpdates() to reduce scope for kill/update race conditions
This is necessary because it was still possible for an entity update packet to be constructed, the thread to pause, a kill to be sent on another thread, and then the original thread to resume and send the update
This would result in an update being received after a kill, which results in undeletable ghost objects until the viewer is relogged
Extending the lock looks okay since its only taken by kill, update and reprioritize, and both kill and update do not take further locks
However, evidence suggests that there is still a kill/update race somewhere
2010-09-15 23:06:38 +01:00
Justin Clark-Casey (justincc) 39d27fc879 rename SceneObjectGroup.DeleteGroup() to DeleteGroupFromScene() to improve code readability 2010-09-15 22:29:58 +01:00
Justin Clark-Casey (justincc) 16f296f489 Instead of locking SOG.Children when a group is being removed from the scene, iterate over an unlocked list instead
Previously, deadlock was possible because deleting a group took a SOG.Children lock then an m_entityUpdates.SyncRoot lock in LLClientView
At the same time, a thread starting from LLClientView.ProcessEntityUpdates() could take an m_entityUpdates.SyncRoot lock then later attempt to take a SOG.Children lock in PermissionsModule.GenerateClientFlags() and later on
Taking a children list in SOG appears to be a better solution than changing PermissionsModule to not relook up the prim.  Going the permission modules root would require that all downstream modules not take a SOG.Children lock either
2010-09-15 21:51:13 +01:00
Justin Clark-Casey (justincc) 5d48e3c0bb Revert "Move OpenSimDefaults,ini into config-include in order to put it with all the other default files"
This reverts commit c3259e9c26.

Reverted by agreement.
2010-09-14 03:30:07 +01:00
Justin Clark-Casey (justincc) c3259e9c26 Move OpenSimDefaults,ini into config-include in order to put it with all the other default files 2010-09-14 01:38:53 +01:00
Melanie b2e50474dc Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-09-13 23:35:27 +01:00
Justin Clark-Casey (justincc) 36f81c66e5 Comment out SOG storing debug log message
This can get very spammy with regularly changing objects.  Please uncomment if required.
2010-09-14 00:05:38 +01:00
Melanie 96a2ce5db0 Add a missing parenthesis 2010-09-13 23:33:55 +01:00
Melanie 0de2f0567d Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-09-13 23:28:36 +01:00
Melanie 4aadfc3007 Change the help message to point to copying OpenSimDefaults.ini.example.
Provide a mostly empty OpenSim.ini.example
2010-09-13 23:27:56 +01:00
Melanie 2cf98e77fc Output an error and quit if the master file is missing. Also rename
OpenSim.ini.example to bin/OpenSimDefaults.ini.example
2010-09-13 23:27:47 +01:00
Melanie 8febba7717 Make the inimaster option default to OpenSimDefaults.ini. 2010-09-13 23:27:31 +01:00
Justin Clark-Casey (justincc) dd803b4f0c minor: Add comments which explain what's going on wrt avatar movements at various points in the main scene loop and associated methods 2010-09-13 21:53:25 +01:00
Justin Clark-Casey (justincc) fbe72e30eb Improve generic message exception logging. Quieten down complaints about unhandled GenericMessages 2010-09-13 21:52:36 +01:00
Justin Clark-Casey (justincc) e4858b0eeb Add client name to packet resend log messages to make them a bit more informative 2010-09-13 21:29:04 +01:00
Justin Clark-Casey (justincc) 7ae9266186 Remove SceneGraph.DetachObject() which was accidentally left around after being migrated to AttachmentsModule 2010-09-13 21:20:31 +01:00
Justin Clark-Casey (justincc) ae1a0150a1 Rename now protected method SetAttachmentInventoryStatus() to ShowAttachInUserInventory() to match ShowDetachInUserInventory() 2010-09-13 21:15:12 +01:00
Justin Clark-Casey (justincc) cd153a20b7 Remove IAttachmentsModule.SetAttachmentInventoryStatus() from public interface
No core module is calling and it makes more sense to call methods such as AttachObject() which attach both to the avatar and update inventory appropriately
2010-09-13 21:05:03 +01:00
Justin Clark-Casey (justincc) 366de0a7b5 If attachment fails (e.g. because asset wasn't found) then don't try to set attachment as shown in inventory
Doing this results in a null reference exception
2010-09-13 20:58:50 +01:00
Justin Clark-Casey (justincc) ff098ae110 minor: Clean up log messages generated when an item is attached 2010-09-13 20:44:32 +01:00
John Hurliman 5ef2da39d8 * Fixing length calculations for HTTP texture downloads (the end byte is inclusive in Range: headers) 2010-09-13 11:23:45 -07:00
John Hurliman c03b24cbfd Merged 2010-09-12 14:21:51 -07:00
John Hurliman 0db1ed0b5a * Added ISimulationDataService and IEstateDataService
* Removed StorageManager
* CONFIG CHANGE: There are no more database settings in OpenSim.ini. Check the config-include configuration files for region store and estate store database settings
2010-09-12 14:20:26 -07:00
Jeff Ames f1f0bc23f4 Formatting cleanup. 2010-09-12 13:43:49 -04:00
Jeff Ames 20cd1da6bf Add copyright headers. 2010-09-12 12:54:31 -04:00
John Hurliman 16d782eaa2 Added a stub for OpenSim.Services.Connectors.Simulation.SimulationDataServiceConnector 2010-09-12 00:30:13 -07:00
John Hurliman 007912d6f4 Shuffling fields and properties around in Scene to make Scene.cs more readable 2010-09-11 23:41:48 -07:00
John Hurliman e2544584ad Changed all string references of "IRegionDataStore" to "ISimulationDataStore" 2010-09-11 22:02:34 -07:00
John Hurliman 109b517583 Fixed the naming mess around data connectors for simulation data 2010-09-11 20:43:06 -07:00
Melanie 47a5e2633c Prevent child agents from being blacklisted in the kill record. 2010-09-11 20:24:14 +01:00
Justin Clark-Casey (justincc) 220f82a0f0 Make it clear that the "create region" command will reference ini files in the regions directory (usually Regions/)
Also convert some tabs into spaces.
2010-09-11 00:27:52 +01:00
randomhuman 30306a775a Made it impossible to create a user with names containing spaces and prevented passwords from being echoed after enter is pressed. 2010-09-10 23:19:18 +01:00
John Hurliman b597a295c4 Second pass at cleaning up thread safety in EntityManager and SceneGraph 2010-09-10 12:41:36 -07:00
John Hurliman dd277a0d02 First pass at cleaning up thread safety in EntityManager and SceneGraph 2010-09-10 12:04:12 -07:00
John Hurliman 8415b98806 Over a dozen thread safety fixes in FriendsModule 2010-09-09 14:45:10 -07:00
John Hurliman 972ef92590 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-08 15:09:34 -07:00
John Hurliman 5dc9ea2f24 * Changed 11 calls for session info to the more optimized API method 2010-09-08 15:08:49 -07:00
Diva Canto ae6682036d Made the HG asset and inventory brokers use the Helo service in order to instantiate the right network connectors. Tested on Robust only. 2010-09-08 14:13:01 -07:00
Diva Canto d301f3fd6a Renamed the Helo server connector to a consistent name. Added this in connector to both Robust.HG.ini.example and HypergridServiceInConnectorModule. 2010-09-08 14:12:01 -07:00
Justin Clark-Casey (justincc) b8d14fcc4a Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-08 01:05:56 +01:00
John Hurliman 0bebe94231 Rolling back the recent libomv update but keeping the ExpiringCache cleanups (as much as is possible). There was a report of non-finite avatar positions after the update 2010-09-07 15:45:33 -07:00
John Hurliman 9be1c0ff44 * Cache null account responses in the SimianUserAccountServiceConnector to avoid repeated requests for missing avatar IDs
* Updated to OpenMetaverse r3442 to fix a timezone issue with ExpiringCache
2010-09-07 14:41:13 -07:00
Melanie 8fda08d858 Make sure unlinked child prims get persisted 2010-09-07 11:48:28 +01:00
Justin Clark-Casey (justincc) f7b28dd321 If a scene object part UUID is changed (only possible when not in a scene), then adjust the inventory items to point to the new uuid as well 2010-09-07 03:41:29 +01:00
Justin Clark-Casey (justincc) 84ad9e4d4e minor: comment out some excessive test logging 2010-09-07 02:05:44 +01:00
Justin Clark-Casey (justincc) 90cd035693 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-07 02:01:38 +01:00
Melanie 99bfb0d2a2 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-09-07 01:45:08 +01:00
Justin Clark-Casey (justincc) 3d033520fa Fix deletion persistence when freshly delinked prims are removed
Previously, Scene.Inventory.DeRezObjects() forced the persistence of prims before deletion.
This is necessary so that freshly delinked prims can be deleted (otherwise they remain as parts of their old group and reappear on server restart).
However, DeRezObjects() deleted to user inventory, which is not required by llDie() or direct region module unlink and deletion.
Therefore, forced persistence has been pushed down into Scene.UnlinkSceneObject() to be more general, this is still on the DeRezObjects() path.

Uncommented TestDelinkPersistence() since this now passes.
Tests required considerable elaboration of MockRegionDataPlugin to reflect underlying storing of parts.
2010-09-07 01:43:20 +01:00
Justin Clark-Casey (justincc) 11f4a65f42 Fix deletion persistence when freshly delinked prims are removed
Previously, Scene.Inventory.DeRezObjects() forced the persistence of prims before deletion.
This is necessary so that freshly delinked prims can be deleted (otherwise they remain as parts of their old group and reappear on server restart).
However, DeRezObjects() deleted to user inventory, which is required by llDie() or direct region module unlink and deletion.
Therefore, forced persistence has been pushed down into Scene.UnlinkSceneObject() to be more general, this is still on the DeRezObjects() path.

Uncommented TestDelinkPersistence() since this now passes.
Tests required considerable elaboration of MockRegionDataPlugin to reflect underlying storing of parts.
2010-09-07 01:12:06 +01:00
Justin Clark-Casey (justincc) e55f6d47e9 Add test that checks correct persistence when an unlink is quickly followed by deletion of a linked part
This test is temporarily not running since it currently fails due to a bug in this area
2010-09-06 23:28:52 +01:00