Justin Clark-Casey (justincc)
47e2922a40
Prevent race conditions between two threads that call LLClientView.Close() simultaneously (e.g. ack timeout and an attempt to reconnect)
2012-07-25 23:32:27 +01:00
Justin Clark-Casey (justincc)
4deb25da87
Add TestCreateDuplicateRootScenePresence() regression test.
2012-07-25 23:32:21 +01:00
Justin Clark-Casey (justincc)
587c8017ab
Add basic TestCreateRootScenePresence() regression test
2012-07-25 23:32:06 +01:00
Justin Clark-Casey (justincc)
d5d801f218
Close() the ScenePresence after we've removed it from the scene graph, to cut down race conditions when another thread manages the grab the presence after some SP structures have been reset.
2012-07-25 23:30:59 +01:00
Justin Clark-Casey (justincc)
2f865da5c7
refactor: factor out common code in WebStatsModule.OnMakeRootAgent()
2012-07-19 01:00:50 +01:00
Justin Clark-Casey (justincc)
cf2f6843c6
In WebStatsModule.OnMakeRootAgent(), get region ID directly from SP.Scene.RegionInfo.RegionID instead of manually looking it up from the stored scene list.
2012-07-19 01:00:40 +01:00
Justin Clark-Casey (justincc)
97d084c9f5
Stop warning about no session from ViewerStats if user teleports to another region in the same simulator that was not next to the source region.
...
This was because teleporting to the new region invoked the new session setup code before the agent was removed from the old region, which then invoked the session teardown code.
Now, we only invoke the teardown code if the region ID occupied by the agent being removed is the same as the one registered for the current session.
2012-07-19 01:00:33 +01:00
Justin Clark-Casey (justincc)
14f72a9a43
Remove a callstack print out I accidentally left in 2 commits ago in 9ccb578
2012-07-19 00:57:50 +01:00
Justin Clark-Casey (justincc)
89efccaa71
Rather than instantiating a UTF8 encoding everywhere when we want to supress the BOM, use a single Util.UTF8NoBomEncoding.
...
This class is thread-safe (as evidenced by the provision of the system-wide Encoding.UTF8 which does not suppress BOM on output).
2012-07-19 00:57:36 +01:00
Justin Clark-Casey (justincc)
8f61da0759
Don't cache regions data on the other unused LocalGridServiceConnector that the module code still sets up even if we're using one directly instantiated from the RemoteGridServiceConnector.
...
Also improves log messages to indicate which regions are sending/receiving various neighbour protocol messages.
2012-07-19 00:50:17 +01:00
Justin Clark-Casey (justincc)
e88e87ff63
Stop redundantly passing in the endpoint to the LLClientView constructor.
...
This can always be retrieved via the LLUDPClient and is so done in various places already.
2012-07-19 00:45:19 +01:00
Justin Clark-Casey (justincc)
4f10d1aa0c
Remove IClientIPEndpoint client interface for now.
...
This may well come back in the future when this subinterface is actually used but it currently isn't and I feel the name was poor.
Everything uses IClientAPI.RemoveEndPoint which also returned the full endpoint rather than just the ip address.
2012-07-19 00:45:08 +01:00
Justin Clark-Casey (justincc)
1912215c40
Remove IClientAPI.GetClientEP() in favour of existing identical IClientAPI.RemoteEndpoint.
2012-07-19 00:45:02 +01:00
Justin Clark-Casey (justincc)
ffbca99b57
Extend "show circuits" to show circuit code, ip and viewer name.
...
Also change to use standard table formatting
"show circuits" and "show connections" console commands are very similar but access different data structures.
2012-07-19 00:44:48 +01:00
Justin Clark-Casey (justincc)
f660a25fa7
Add active status to "show connections"
2012-07-19 00:40:35 +01:00
Justin Clark-Casey (justincc)
523d03fb76
Put output for "show connections" command into standard table format.
...
Also moves into own method.
2012-07-19 00:40:18 +01:00
Justin Clark-Casey (justincc)
85985a8c3e
Where possible, use the system Encoding.ASCII and Encoding.UTF8 rather than constructing fresh copies.
...
The encodings are thread-safe and already used in such a manner in other places.
This isn't done where Byte Order Mark output is suppressed, since Encoding.UTF8 is constructed to output the BOM.
2012-07-19 00:25:40 +01:00
Justin Clark-Casey (justincc)
013e002b00
Fix build break for windows with missing package for IScriptEngine in prebuild.xml for OpenSim.Region.CoreModules.Tests.dll
2012-07-11 23:29:45 +01:00
Justin Clark-Casey (justincc)
5269d77cf9
Allow XEngine StartDelay to be configured in the [XEngine] config section.
...
This is only currently meant for use by regression tests that don't have any issues if XEngine is started up quickly, since no other operations will be occuring simultaneously.
Therefore, this is not yet documented externally.
2012-07-11 23:29:39 +01:00
Justin Clark-Casey (justincc)
8c8e6220fb
Remove WorldComm module from the regression TestCompileAndStartScript() since the infrastructure no longer fails if this module isn't present, at least on the tested codepaths
2012-07-11 23:29:31 +01:00
Justin Clark-Casey (justincc)
150860c964
Add regression TestDetachScriptedAttachmentToInventory()
...
This currently only does a relatively crude check for a ScriptState node in the serialized xml
2012-07-11 23:29:24 +01:00
Justin Clark-Casey (justincc)
0cb1b0bb4a
Add regression TestRezScriptedAttachmentsFromInventory() though this currently only checks for the presence of script items, not for started scripts
2012-07-11 23:29:16 +01:00
Justin Clark-Casey (justincc)
56d894ae24
refactor: move management of SOP.SitTargetAvatar into SOP.AddSittingAvatar() and SOP.RemoveSittingAvatar()
2012-07-11 23:29:07 +01:00
Justin Clark-Casey (justincc)
b34fd50155
Revert "refactor: Add SOP.IsSitTargetOccupied to improve readability"
...
This reverts commit c8f0d476d2
.
On reconsideration, I think this is less readable since immediately following code still sets SitTargetAvatar directly
2012-07-11 23:15:35 +01:00
Justin Clark-Casey (justincc)
74486e767d
refactor: Add SOP.IsSitTargetOccupied to improve readability
2012-07-11 23:15:23 +01:00
Justin Clark-Casey (justincc)
1b8814878d
refactor: use sit orientation argument passed in to SP.SendSitResponse() rather than creating a new copy
...
There are no issues with side-effects since this is a struct.
2012-07-11 23:15:14 +01:00
Justin Clark-Casey (justincc)
095375d63d
Move common code to detect whether a part has a valid sit target into a SOP property rather than being repeated in SP.
...
This also makes the detection in SP.FindNextAvailableSitTarget() and SendSitResponse() identical.
Previously they varied slightly (SendSitResponse didn't check for an older type of invalid quaternion) but the practical effect is most probably zero.
2012-07-11 23:15:06 +01:00
Justin Clark-Casey (justincc)
cb4e074a8c
Remove log line accidentally left in SP.SendSitResponse()
2012-07-11 23:14:59 +01:00
Justin Clark-Casey (justincc)
222f844d65
Disable logging in regression test in OSSL_ApiAttachmentTests
2012-07-11 23:14:52 +01:00
Justin Clark-Casey (justincc)
bb2a9060f1
Fix recent SOP.GetSittingAvatars() to return null if there are no sitting avatars rather than throwing an exception.
...
Extends sitting avatar regression tests to test new sitters information
2012-07-11 23:14:45 +01:00
Justin Clark-Casey (justincc)
e21dd88ed5
When an attachment is detached to inv or derezzed, stop the scripts, update the known item with script state still in the script engine and then remove the scripts.
...
This is to fix a regression starting from 5301648
where attachments had to start being deleted before persistence in order to avoid race conditions with hud update threads.
2012-07-11 23:14:36 +01:00
Justin Clark-Casey (justincc)
35457448ca
If a script is being stopped manually, then give the scriptpool thread 1 second to finish normally before forcibly aborting.
...
This is to avoid the worst of the problems in mono 2.6, 2.10 where an aborted thread does not always release all its locks.
This very short grace period is identical to the existing behaviour when a script is removed from the scene.
2012-07-11 23:14:30 +01:00
Justin Clark-Casey (justincc)
596caf41db
This script allows an object to be attached directly from prim inventory to another avatar in the scene.
...
Very useful in serious game/environment scenarios where its only allowed for trusted creators.
Threat level Severe
2012-07-11 23:14:14 +01:00
Justin Clark-Casey (justincc)
c62b46a167
Don't allow a prim to be sat upon if its part of an attachment
2012-07-11 23:14:04 +01:00
Justin Clark-Casey (justincc)
2b3098f011
Do not allow a script to attach a prim if its being sat upon.
...
This prevents a stack overflow where a get position on the avatar will refer to the attachment which will in turn refer back to the avatar.
This required recording of all sitting avatars on a prim which is done separately from recording the sit target avatar.
Recording HashSet is null if there are no sitting avatars in order to save memory.
2012-07-11 23:13:48 +01:00
Justin Clark-Casey (justincc)
74b4efd7f9
minor: remove some recent mono compiler warnings
2012-07-11 23:07:17 +01:00
Justin Clark-Casey (justincc)
298c4c0eb5
Remove duplicate Warp3DImageModule entry in CoreModulePlugin.addin.xml
...
This was causing 2 copies of the module to be created for each scene.
Probably no bad consequences other than a small waste of memory (both for the module and for the warp3D renderer it loaded)
2012-07-11 23:07:09 +01:00
Justin Clark-Casey (justincc)
068917bc29
Remove redundant SetScene() function in Scene.AddSceneObject()
...
This is always done later on in SceneGraph.AddSceneObject() if the call hasn't failed due to sanity checks.
There's no other purpose for this method to exist and it's dangerous/pointless to call in other conditions.
2012-07-11 23:06:41 +01:00
Justin Clark-Casey (justincc)
d8f1d2892c
Remove now duplicate interregion object check that should have been removed a few commits ago in 43a2da9
2012-07-11 23:06:30 +01:00
Justin Clark-Casey (justincc)
ccf8e89193
minor: Remove some wrong comments in attachments regression tests
2012-07-11 23:06:23 +01:00
Justin Clark-Casey (justincc)
f17f58ac2a
Add assert to attachment regression tests to check that number of objects in the scene graph
2012-07-11 23:06:14 +01:00
Justin Clark-Casey (justincc)
6bcb5baab6
Pull prim crossing/teleport checks up into Scene.IncomingCreateObject() from Scene.AddObject()
...
Only IncomingCreateObject() needs these checks. General object adding does not need to perform crossing perm checks
2012-07-11 23:05:59 +01:00
Justin Clark-Casey (justincc)
0aaf935333
refactor: extract method UpdateUserInventoryWithAttachment() from AttachObject() for better code comprehension
2012-07-11 23:05:53 +01:00
Justin Clark-Casey (justincc)
b30806822e
Log MONO_THREADS_PER_CPU value on simulator startup, or "unset" if it is not set
2012-07-11 23:05:43 +01:00
Justin Clark-Casey (justincc)
a2c3dfc422
Log warning if time between invocations of the watchdog thread is twice the timer setting.
...
This is to help detect situations where thread timeout warnings are being generated because of general machine issues rather than deadlock, network or other problems.
2012-07-11 23:05:34 +01:00
Justin Clark-Casey (justincc)
4050a6f8bb
minor: add client name to various login service log messages to disambiguate messages from concurrent logins. Also adds destination resolution debug log message showing region endpoint.
...
Adding endpoint to the log helps to find issues where the region external host information has been wrongly configured
2012-07-11 23:05:26 +01:00
Justin Clark-Casey (justincc)
0d0d04c484
minor: Add more information to OSFunctionThreatLevel and clarify some text in using PARCEL_OWNER, PARCEL_GROUP_MEMBER, ESTATE_MANAGER, ESTATE_OWNER permission categories
2012-07-11 23:05:09 +01:00
SignpostMarv
952b3448a6
porting console commands from raw2sculpt 3.2
2012-07-11 23:05:01 +01:00
Justin Clark-Casey (justincc)
d53ef3b302
Add OSSL function osForceAttachToAvatarFromInventory()
...
This works like osForceAttachToAvatar() but allows an object to be directly specified from the script object's inventory rather than forcing it to be rezzed in the scene first.
Still only attaches objects to the owner of the script.
This allows one to bypass the complicated co-ordination of first rezzing objects in the scene before attaching them.
Threat level high.
2012-07-11 23:04:49 +01:00
Justin Clark-Casey (justincc)
48e88397a0
Use GetInventoryItem() in llRezAtRoot rather than iterating through a cloned dictionary
2012-07-11 23:04:42 +01:00