| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| | |
of execution time.
This is to make the report clearer and less confusing.
|
| |
| |
| |
| | |
This is for the top scripts report.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
measurement period and an idealised frame time.
The previous lines-per-second measurement used for top scripts report was inaccurate, since lines executed does not reflect time taken to execute.
Also, every fetch of the report would reset all the numbers limiting its usefulness and we weren't even guaranteed to see the top 100.
The actual measurement value should be script execution time per frame but XEngine does not work this way.
Therefore, we use actual script execution time scaled by the measurement period and an idealised frame time.
This is still not ideal but gives reasonable results and allows scripts to be compared.
This commit moves script execution time calculations from SceneGraph into IScriptModule implementations.
|
|/
|
|
| |
being found or not, because the UI is horribly confusing -- places profile is always "loading..." whether the region exists or not.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
from region modules. The LSL translator is extended to generate the
modInvoke format of commands for directly inlined function calls.
A region module can register a function Test() with the name "Test".
LSL code can call that function as "Test()". The compiler will translate
that invocation into modInvoke("Test", ...)
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
redefine the encoding of HG URLs because the viewer messes them up. Examples of what works and doesn't work:
- secondlife://ucigrid00.nacs.uci.edu|8002/128/128 <-- works throughout the viewer
- secondlife://http|!!ucigrid00.nacs.uci.edu|8002+Test+Zone+1/128/128 <-- works throughout the viewer
- secondlife://http|!!grid.sciencesim.com!grid!hypergrid.php+Yellowstone01+74/128/128 <-- works throughout
- secondlife://http%3A%2F%2Fucigrid00.nacs.uci.edu%3A8002%20UCI%20Central%201/128/128 <-- works in chat, but not as URLs in the webkit
|
| |
| |
| |
| | |
This reverts commit e5612553ce57b6e36cfa59db8450473099054da1.
|
| |
| |
| |
| |
| |
| |
| |
| | |
needed.
Revert "Revert "Hack around https://jira.secondlife.com/browse/VWR-28570""
This reverts commit 5a9560db288a25799c93a3ecbd3544931149fa2a.
|
| |
| |
| |
| | |
This reverts commit 697ac7fd9de244cb3b25ff8576838fd323b257c3.
|
| |
| |
| |
| | |
This reverts commit 10731732b4d40ec9d9e7a21f406a3d2b5dfc1075.
|
|\ \
| |/ |
|
| | |
|
| |
| |
| |
| | |
false in both if/else branches
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
multiple scripts in the same linkset can cause unnecessary thread aborts.
The first llDie() could lock Scene.m_deleting_scene_object.
The second llDie() would then wait at this lock.
The first llDie() would go on to remove the second script but always abort it since the second script's WorkItem would not go away.
Easiest solution here is to remove the m_deleting_scene_object since it's no longer justified - we no longer lock m_parts but take a copy instead.
This also requires an adjustment in XEngine.OnRemoveScript not to use instance.ObjectID instead when firing the OnObjectRemoved event.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
to release locks, resulting in a crippled simulator.
This seems to be a particular problem with ReaderWriterLockSlim, though other locks can be affected as well.
It has been seen to happen when llDie() is called in a linkset running more than one script.
Alleviation here means supplying a ScriptInstance.Stop() timeout of 1000ms rather than 0ms, to give events a chance to complete.
Also, we check the IsRunning status at the top of the ScriptInstance.EventProcessor() so that another event doesn't start in the mean time.
Ultimately, a better solution may have to be found since a long-running event would still exceed the timeout and be aborted.
|
| | |
|
|/ |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
it more understandable as to what it is and what it does (hold a thread pool work item for a waiting of in-progress event)
Also add other various illustrative comments
|
| |
| |
| |
| | |
scripts do that, and that fails the whole thing.
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| | |
command
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
.NET 4.0 added the method Stream.CopyTo(stream, bufferSize). For .NET 3.5
and before, WebUtil defined an extension method for Stream with the signature
Stream.CopyTo(stream, maxBytesToCopy). The meaning of the second parameter
is different in the two forms and depending on which compiler and/or
runtime you use, you could get one form or the other. Crashes ensue.
This change renames the WebUtil stream copy method to something that
cannot be confused with the new CopyTo method defined in .NET 4.0.
|
|/
|
|
| |
that data providers can verify authenticity if they want.
|
|
|
|
| |
capitalization of 'name' to lower case, also in the same <grid> section.
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
thread.
This was previous behaviour anyway.
|
| |
| |
| |
| | |
saying afterwards that we added it.
|
| |
| |
| |
| | |
rather than what they've just done.
|
| |
| |
| |
| |
| |
| |
| | |
at the asset service at once.
This may (or may not) improve reliability for http://opensimulator.org/mantis/view.php?id=5898
Quick tests show that save time is the same.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This is configured in the new [Estates] section of OpenSim.ini.
If a default estate is configured then all new regions are automatically joined to it instead of asking the user.
If the default estate does not already exist then it is created.
Current default behaviour remains the same - the user is asked for estate details when necessary.
Thanks to Frenando Oliveira for the patch which I adapated further.
|
| |
| |
| |
| |
| |
| | |
makes use of the SLUtil copy via a method rather than each LLClientView loading a separate copy.
As per opensim-users mailing list discussion.
|
| |\ |
|
| | | |
|
| |/
|/|
| |
| | |
the PostToService variants.
|
| |
| |
| |
| |
| |
| | |
- Added an inventory cache for caching root and system folders
- Synchronized the remote inventory connector, so that all the remote inventory calls are serialized
This will not make much difference in the hold ups. We'd have to move the FireAndForget high up to AddInventoryItem, but that opens up a can of worms regarding the notification of the recipient... the recipient would be notified of the offer before the items are effectively in his inventory, which could lead to surprises.
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| | |
This is rather than checking whether the avatar is sitting and doing its own calculation.
|
| |
| |
| |
| | |
this is handled by the necessary ParentPart check
|
| |
| |
| |
| |
| |
| |
| | |
(saving extra null checks, etc.)
However, it looks like we should retain SP.ParentID since it's much easier to use that in places where another thread could change ParentPart to null.
Otherwise one has to clumsily put ParentPart in a reference, etc. to avoid a race.
|
| |
| |
| |
| | |
(part != null), rather than having unnecessary multiple checks
|
|/
|
|
| |
functional asset posts so that the client threads doesn't freeze (but the network posts are serialized).
|