Commit Graph

14284 Commits (da6816c805b8e68d5858ce9e241ea71941312c8c)

Author SHA1 Message Date
Justin Clark-Casey (justincc) a85779e477 If the uuid of a SceneObjectGroup (RootPart) is changed before adding to the scene, remove the old uuid reference from m_parts as well as adding the new one.
The separate remove and set operations is SOG.set_UUID() are both locked under m_parts.SyncRoot since they are logically atomic (though this isn't such an issue if the SOG isn't part of a scene)
Added unit test for this behaviour.
Also changed the second m_parts.AddOrReplace() to m_parts.Add().  As the old reference is now removed we never end up replacing an identical uuid.  And if we replace a uuid that's already there (from a child part) then this is an error.
2010-09-21 00:58:54 +01:00
Melanie 9cf8795ecf Fix a merge artefact that broke script state persistence in XAttachments 2010-09-19 22:53:05 +02:00
Teravus Ovares (Dan Olivares) 27d5976b87 * Tweaked the LocationTests for maximum coverage.
* Added more mundane tests.
2010-09-18 03:42:37 -04:00
Teravus Ovares (Dan Olivares) c203fae26b * Covered the type converters in SLUtil with unit tests.
* Does anyone have an example raw notecard to look at and test the notecard parser?
2010-09-18 02:49:42 -04:00
Teravus Ovares (Dan Olivares) 4d83879704 * More Mundane Tests
* SL Util tests of AssetType2ContentType and ContentType2AssetType
2010-09-17 23:27:41 -04:00
Justin Clark-Casey (justincc) a22f007246 Improve the explanative text of migration failures
When running for the first time, people see migration failures because of sql statements that are trying to move data from old tables (e.g. users).  The amended text attempts to calm their nerves.
2010-09-18 03:37:10 +01:00
Marck 7ee0a8d30e Clarify help text for use of file paths with console command "create region". 2010-09-18 02:30:56 +01:00
Marck cd42cdcc89 REST Console delivers responses with content type text/xml instead of text/plain.
Non-error responses to requests SessionCommand and CloseSession should use the appropriate content type for their XML data payload.
2010-09-18 02:24:04 +01:00
Justin Clark-Casey (justincc) 2501372d3b Add m_syncRoot lock to MapAndArray.ContainsKey(), as discussed with jhurliman
Though this is actually thread-safe on .net 4.0 and mono today, the .net sdk states that Dictionary instance members are not guaranteed thread-safe
2010-09-18 01:57:13 +01:00
Justin Clark-Casey (justincc) 889923841c Stop broadcasting non 0/DEBUG ChatTypeEnum.Region messages to all avatars
This allows non public/debug region wide messages to be sent to scripts but not be broadast to avatars
2010-09-18 01:43:22 +01:00
Justin Clark-Casey (justincc) 4327c795f8 Move OpenSim/Framework/tests/PrimeNumberHelperTests.cs to OpenSim/Framework/Tests/PrimeNumberHelperTests.cs
I'm assuming the lowercase tests was a mistake.  Please revert if it actually wasn't
2010-09-18 00:25:22 +01:00
Justin Clark-Casey (justincc) b1ab3ea5d9 For all Flotasm group module XMLRPC calls, correct parameter requestingAgentID to RequestingAgentID
This was stopping the get group member roles call from working, and may have affected other things
2010-09-17 23:48:44 +01:00
Teravus Ovares (Dan Olivares) 33fbf0e329 Merge branch 'master' of ssh://MyConnection/var/git/opensim 2010-09-17 18:41:29 -04:00
Teravus Ovares (Dan Olivares) 94f35890e7 * Fixed and re-enabled CacheTests
* Added MundaneFrameworkTests.cs for the really mundane tests like testing properties,constructors, etc in OpenSim.Framework.
* Fixed LeftAxis and UpAxis unpacking from OSD to AgentPosition (copy and paste error caught while writing mundane test) (Good thing nobody uses the camera frustum from remote regions yet)
2010-09-17 18:41:12 -04:00
Melanie 3a760ad12b Overwrite the core version of the string parsing method with ours 2010-09-17 22:20:20 +01:00
Melanie bdd4dcf69b Merge branch 'master' into careminster-presence-refactor 2010-09-17 22:12:48 +01:00
Melanie 58f7a083f9 Add LandServices to make landmarks work right in grids 2010-09-17 22:06:43 +01:00
John Hurliman c08b6c2873 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-17 14:35:35 -07:00
John Hurliman e603521fd7 Applying the llParseString2List() patch from #5036 that Melanie claims was already applied 2010-09-17 14:32:49 -07:00
Melanie a6382deec5 Merge branch 'careminster-presence-refactor' of ssh://melanie@3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-09-17 22:06:18 +01:00
Melanie 9f7aa7deef Add LandServices to make landmarks work right in grids 2010-09-17 21:40:49 +01:00
Teravus Ovares (Dan Olivares) 69749b81f9 * Add a few more tests to help our meager code coverage %.
* Tests Animation Constructors
* Tests Animation OSD Packing/Unpacking
* Tests the PrimeNumberHelper class which is used in the cache.
2010-09-17 03:11:57 -04:00
Melanie e32855d080 Merge branch 'master' into careminster-presence-refactor 2010-09-17 03:57:15 +01:00
Melanie 256c8cb62d Send kill packets for avatars, too 2010-09-17 03:56:31 +01:00
Melanie 7df4383235 Merge branch 'master' into careminster-presence-refactor
Integrate the next large patch.
Don't use this version, it has a ghost avatar issue. Next push
will fix it.
2010-09-17 03:49:30 +01:00
root 87a1e00f05 Remove the now unused partslock 2010-09-17 04:00:00 +02:00
root 7762301cea Revert "* Changed 11 calls for session info to the more optimized API method"
This reverts commit 5dc9ea2f24.
Also makes online indicators and IM more robust
2010-09-17 01:57:26 +01:00
John Hurliman b49cb3355f Fixed a regression in SOG.Copy() 2010-09-16 17:57:00 -07:00
John Hurliman 5321e0e69f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-16 17:31:24 -07:00
John Hurliman 860b2a502f Changed SceneObjectGroup to store parts with the fast and thread-safe MapAndArray collection 2010-09-16 17:30:46 -07:00
Justin Clark-Casey (justincc) e3f1533705 Fix build break by replacing Items.LockItemsForWrite() with lock (Items) {} 2010-09-17 01:21:28 +01:00
Justin Clark-Casey (justincc) 5072429263 Send KillPackets on the Task queue rather than the State queue
Object updates are sent on the task queue.  It's possible for an object update to be placed on the client queue before a kill packet comes along.
The kill packet would then be placed on the state queue and possibly get sent before the update
If the update gets sent afterwards then client get undeletable no owner objects until relog
Placing the kills in the task queue should mean that they are received after updates.  The kill record prevents subsequent updates getting on the queue

Comments state that updates are sent via the state queue but this isn't true.  If this was the case this problem might not exist.
2010-09-17 01:16:21 +01:00
Justin Clark-Casey (justincc) 5b18f8be25 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-17 01:01:12 +01:00
root 251f2444d0 Revert "* Changed 11 calls for session info to the more optimized API method"
This reverts commit 5dc9ea2f24.
Also makes online indicators and IM more robust
2010-09-17 01:50:48 +02:00
root 670357367e Removing debug 2010-09-16 23:32:18 +01:00
root 1b2edfe75f JustinCC is evil. f7b28dd3 broke script persistence. This fixes it. 2010-09-16 23:19:46 +01:00
root 1e4e978f7f Removing debug 2010-09-16 23:26:53 +02:00
root a0c87b5af6 JustinCC is evil. f7b28dd3 broke script persistence. This fixes it. 2010-09-16 23:12:32 +02:00
Justin Clark-Casey (justincc) d52b2b9ee7 minor: remove some mono compiler warnings 2010-09-16 20:46:24 +01:00
root 512ded6eb5 Catch a nullref 2010-09-16 21:07:09 +02:00
root d50a072336 Suppress the strange "Result not Dictionary" messages that happen when
a region queries for a nonexistent presence.
2010-09-16 20:21:30 +02:00
root ec89dc99b7 Some small bug fixes 2010-09-16 18:58:25 +02:00
Melanie 58b1ee8e2c Merge branch 'master' into careminster-presence-refactor 2010-09-16 18:04:50 +01:00
Melanie f5e3d5a33a Add the modules include line back that i dropped by mistake 2010-09-15 23:24:58 +01:00
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) e6bc77d832 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-09-15 23:03:02 +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
Melanie c1ccfa6d8d Mark up OpenSim.ini.example for use with an automatic configuration tool.
Remove seldom changed options from OpenSim.ini.example.
Remove non-overridable settings like [Architecture] from OpenSimDefaults.ini
2010-09-15 20:29:28 +01:00
meta7 571693d7b6 Revert last commit 2010-09-15 08:16:38 -07:00