| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change addresses two issues:
[1] It adds a flag field to the blendface call which allows the
caller to indicate whether or not the generated asset is
temporary, and whether or not the asset being replaced should
be explicitly retired fromt the memory cache. The decimal
values correspond to:
0 - Permanent asset, do not expire old asset
1 - Permanent asset, expire old asset
2 - Temporary asset, do not expire old asset
3 - Temporary asset, expire old asset
'3' corresponds to the default behavior seen today, and is
the continued behavior of the non-blendface calls.
[2] The dynamic texture routines are highly-asynchronous and can
be scheduled simultaneously on a multi-core machine. The nature
of the texture management interfaece is such that updates may
be lost, and the nature of asynchornous operation means that
they may be processed out of order. A lock has been added to
ensure that updates are at least atomic. No attempt has been
made to enforce ordering. The lock applies to the SceneObjectPart
being updated and is held for the lifetime of the TextureEntry
used to carry texture updates (the one instance carries all
faces supported by the prim).
Users of these services should remember that the dynamic texture
call is asynchronous and control will be returned *before* the
texture update has actually occurred. As a result, a isubsequent
GetTexture call may not return the expected asset id. A script
must wait for the corresponding TEXTURE_CHANGED event before
retrieving any texture information.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- fixes wild swings in memory usage related to usage of GetDrawStringSize()
We've been seeing wild swings in memory usage and a large chunk of
memory leak. From analysing this it's pretty clear that the mono
garbage collector is rather buggy! When exercised heavily it looks
like it frees more than its meant to resulting in crashes.
GetDrawStringSize() measures the size in pixels of text. To do this
memory for an image is allocated and used to call the GDI text
measure functions. Although no reference to the temporary memory
for the measuring is kept, it takes quite a while for the mono
garbage collector to clean up - so if lots calls to
GetDrawStringSize() are made at once there can be a spike in memory
usage. If the garbage collector is not fast enough then the GDI
layer runs out of memory. It also looks like the garbage collector
is not always reclaiming all of the memory.
I've attached an OpenSim patch which works around the garbage collector
issues. Instead of dynamically allocating memory for measuring
text sizes, it serialises (on a per region basis) access to a single
block of memory. The effect of this is to be nicer to the garbage
collector as it has a lot less work to do, at the cost of some
theoretical loss in performance (nothing noticeable with our tests
which hit it pretty hard).
OpenSim still does leak memory slowly, but it is a lot more stable
with this patch. I suspect that either the garbage collector misses
bits of freed memory or the GDI/cairo layer leaks a bit each time a
texture is created. Thats going to be a lot harder to hunt down, but
for reference if someone has OpenSim running on Windows it would be
interesting to see if it has the same problem as it would tell us if
its a mono/GDI problem or an OpenSim problem.
|
|
|
|
|
|
|
|
|
|
|
| |
Modify dynamic texture handling so that an explicitly targetted
face is not scheduled for immediate expiration. The requirement
for precaching explicitly requires these assets to persist. They
do however remain temporary.
This approach leaves the legacy mode of operation (ALL_SIDES)
unchanged in this respect.
|
|
|
|
| |
LICENSE.txt.
|
| |
|
| |
|
|
|
|
|
|
| |
stop crashing http server threads.
|
|
|
|
|
|
|
|
|
|
| |
needed to be able to 'NAT-wrap' the login sequence.
* If you have something using XmlRpc that isn't in core, change your method signature from:
(XmlRpcRequest request)
to:
(XmlRpcRequest request, IPEndPoint remoteClient)
|
|
|
|
|
|
|
|
|
|
| |
Changes to support client-side image pre-caching in the region. This
commit adds an additional calling sequence to the DynamicTexture data
and URL calls. The new interface allows a dynamic image to be loaded
into a specific object face (rather than the mandatory ALL_SIDES
supported today.
This is in part fulfilment of ticket #458.
|
|
|
|
|
|
| |
NOTE: we currently have a gazillion warnings caused stuff flagged as
"obsolete" (OGS1 stuff) --- what's up with that?
|
| |
|
|
|
|
|
|
|
|
|
| |
The image render module is returning everything twice. Once with
data, once with null. This change adds a return to stop this
behavior. This was not apparent until I added a message to the
catching routine which issued a warning message when no data was
returned.
|
|
|
|
|
|
|
|
|
|
|
|
| |
-- please see the example. Affects region servers only.
This may break a lot of things, but it needs to go in. It was tested in standalone and the UCI grid, but it needs a lot more testing.
Known problems:
* HG asset transfers are borked for now
* missing texture is missing
* 3 unit tests commented out for now
|
| |
|
|
|
|
|
|
| |
receive requests.
|
| |
|
| |
|
|
|
|
|
|
| |
Implements llRequestURL, llRequestSecureURL, llReleaseURL
|
| |
|
|
|
|
|
| |
logs error message on empty data in DynamicTextureModule
|
|
|
|
|
|
|
|
|
| |
Adding more SL likeness for Email module in CORE.
I've added some SL likeness to the Email module so
that it looks more like emails going out in the
same standard as SL uses
|
| |
|
|
|
|
|
|
|
|
| |
Does not set prims to fullbright when an
ossl dynamic texture function is called.
|
|
|
|
|
|
| |
* Added the hostname so the email gets the
right hostname when going outbound
|
|
|
|
|
|
|
|
| |
Adds a test to see if the first option on osDynamicTextureData is "AltDelim",
then picks up the first character after the whitespace and uses as a delimiter
instead of ;. If this string does not appear at the start of the data, the
default ; will be used, hence this should not break existing code.
|
|
|
|
|
|
| |
publication
|
| |
|
|
|
|
|
|
|
| |
Changes to AssetCache and DynamicTextureModule to eliminate
opportunities for lost texture updates.
|
| |
|
|
|
|
|
|
|
| |
* In most cases, the setting in OpenSim.ini.example is taken as the canonical one since this is the file virtually everyone ends up using
* OpenSim will start up with a blank OpenSim.ini, in which case sqlite is the default database (as before)
|
|
|
|
|
|
|
| |
This fixes *another* sync error in a list/dictionary
iterator. This time in WorldComm. I'm beginning to think
something is going on...
|
|
|
|
|
|
|
| |
has been set since having no User-Agent seems to work well but the facility is now available to set this if required. Using something based on the pattern of SLs User-Agent may well cause problems, not all web servers respond well to it. See the notes in the SL Wiki http://wiki.secondlife.com/wiki/LlHTTPRequest
Fixes Mantis #3143
|
|
|
|
|
|
|
|
|
| |
* Added log4net dependency to physxplugin in prebuild.xml.
* Added missing m_log fields to classes.
* Replaced Console.WriteLine with appropriate m_log.Xxxx
* Tested that nant test target runs succesfully.
* Tested that local opensim sandbox starts up without errors.
|
| |
|
|
|
|
| |
with no alpha value). Thanks BlueWall.
|
| |
|
|
|
|
|
| |
Adding the ability to set the background color for osSetDynamicTextureData in the extra data: bgcolour:value (see http://msdn.microsoft.com/en-us/library/aa358802.aspx [^] for color names)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The attached patch implements osGetDrawStringSize that looks like:
vector osGetDrawStringSize(string contentType, string text, string
fontName, int fontSize)
in LSL. It is meant to be used in conjunction with the osDraw*
functions. It returns accurate information on the size that a given
string will be rendered given the specified font and font size.
This allows for nicely formatted and positioned text on the generated
image.
|
|
|
|
|
|
|
|
| |
* Moves llEmail() delay to after e-mail send rather than before, in line with SL
* Thanks DoranZemlja
* Last build failure looks like a glitch, but one that has already happened twice recently which I need to look at
|
|
|
|
|
|
|
|
| |
* This slightly extends a lock in WorldCommModule so that it covers the GetNewHandle method which states in it's doc that it assumes locking has happened before the method is
called
* Thanks DoranZemlja
|
|
|
|
|
|
|
|
|
| |
properties as before
- prefix private variables with m_ in AssetBase.cs
- related to Mantis #3122, as mentioned in
https://lists.berlios.de/pipermail/opensim-dev/2009-February/005088.html
- all services will likely need to be upgraded after this commit
|
|
|
|
|
|
| |
* This is always available at Scene.CommsManager.AssetCache
|
|
|
|
|
|
|
| |
module and changes SMTP authentication (applied with changes)
Fixes Mantis #3168
|
|
|
|
|
|
|
| |
issues.
Fixes Mantis #3145.
|
|
|
|
|
|
|
| |
delivery.
Leaving Mantis #3145 open so that more code can be added.
|
| |
|
| |
|