| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch addresses mantis bug 2576.
http://opensimulator.org/mantis/view.php?id=2576
Briefly, if you call llDie from many scripts at the same time (say a
build is cleaning up excess objects) then OpenSim deadlocks. Avatars
are unable to move, and whilst the console is active you can't do much
without it also locking up. This only occurs with the XEngine script
engine enabled.
I have attached a patch which works, but I'm not sure its the right way
to address the problem. The fundamental problem is that a lock on a
SceneObjectGroup's m_parts is taken when the object is deleted, a
callback to the script engine occurs and a fair way down the callchain,
potentially there are locks taken on several other SceneObjectGroup's
m_parts. Deadlock then occurs if you get unlucky enough
to get in the situation where with several llDie's are called and
SceneObjectGroups
have taken a lock on their own m_parts, and end up waiting on each
other's
locks to become available.
The patch adds a lock at a high level so that that the removal of script
instances
from an object only occurs once per scene at a time. This avoids the
potential
of deadlock. Theoretically there could be some performance hit but
AFAICT
the path taken is not a common occurrence.
Would welcome any suggestions for a better solution, otherwise feel free
to apply :-)
Note this patch was built against the 0.6.0 freeze as trunk was
rather broken for me this morning (creating a script killed the client
connection).
|
|
|
|
| |
proxy messages were not properly decoded.
|
|
|
|
|
|
| |
stops
|
| |
|
|
|
|
|
|
| |
an avatar moves.
|
|
|
|
|
|
| |
Our feet will now be above ground
|
| |
|
|
|
|
|
|
| |
A tube on a pole is a bit less "flubbery" so maybe this is
the right direction.
|
|
|
|
|
|
| |
groundwork.
|
|
|
|
|
|
| |
the LSL constants.
|
| |
|
|
|
|
|
| |
calculating mass.
|
| |
|
|
|
|
|
|
| |
* Items will now be locally cached for only 24 hours from last access. (Rather than until restart)
* Caveat: Implementing the new caching mechanism means statistics gathering on AssetCache is no longer functional. (Justin - you might want to take a look and see if you can somehow get that back and running if you still need it)
|
| |
|
|
|
|
|
|
|
| |
It is required by group IM and also for a proper implementation of item
give, group notice attachments and offline IM.
|
|
|
|
|
| |
a more meaningful name of 'detectedParams'.
|
| |
|
|
|
|
|
|
| |
When the given address to CheckRegion is wrong, it crashes
the whole server. Patch included.
|
|
|
|
|
|
|
|
|
|
| |
PRIM_TEMP_ON_REZ and PRIM_MATERIAL are not implemented in
llSetPrimitiveParams so support for these is in the patch.
Also two deprecated functions throw errors. They are changed
to behave as in SL: llSetPrimURL - Does nothing except the sleep
(currently commented out) & llRefreshPrimURL shouts
"llRefreshPrimURL - not yet supported" on the error channel
|
|
|
|
|
|
|
| |
PacketQueue getting disabled.
* This means the recent memory fix should now be working correctly - so the current largest memory leak should be fixed. AssetCache still needs to be addressed however.
|
|
|
|
|
|
|
| |
never called, causing the PacketQueue for dead clients to be preserved (including it's contents).
* This patch is highly experimental and may cause clients to not be able to connect, if this is the case, it will be rolled back in approximately 5 minutes.
|
|
|
|
| |
prim attributes.
|
|
|
|
|
|
| |
* Updated LLClientView
* Removed defunct SendChatMessage(bytes[]...) method, see http://opensimulator.org/wiki/OpenSim_0.6_IClientAPI#Porting_Guide
|
|
|
|
|
| |
* See http://opensimulator.org/wiki/OpenSim_0.6_IClientAPI#InstantMessageModule.cs
|
|
|
|
|
|
| |
* Identical to OnNewClient except it passes IClientCore instead of IClientAPI
* See http://opensimulator.org/wiki/OpenSim_0.6_IClientAPI#Porting_Guide
|
|
|
|
| |
release. Still messy as hell and doesn't really work yet. Will undergo dramatic changes. AND MOST IMPORTANTLY: Will be conformed to work in coop with todays DNE and XEngine, hopefully one day providing a common interface for all components.
|
|
|
|
|
|
| |
* Changed SendInstantMessage, dropped fromAgentSession and imSessionID as security precaution, see http://opensimulator.org/wiki/OpenSim_0.6_IClientAPI#Porting_Guide for details on porting.
* Removed unused usings from Framework.*
|
|
|
|
|
|
|
| |
threads concurrently, you'll get bad Heisenbugs without correct locking.
This might fix Mantis#2413
|
| |
|
|
|
|
|
|
|
|
|
|
| |
client has logged out.
* Cleaned up a section of LLClientView
* Removed unused 'using' from HTTPServer
* Please test this patch.
|
|
|
|
|
|
| |
* Introducing IClientCore - this will be the key replacement for IClientAPI in the long run, it has a very minimal set of methods designed to allow you to access specialist API's.
* See https://lists.berlios.de/pipermail/opensim-dev/2008-September/003049.html for the early discussion on this.
|
|
|
|
|
|
| |
on lists created by parsing
|
|
|
|
|
|
| |
No user functionality yet
|
| |
|
|
|
|
|
|
| |
current form
|
| |
|
|
|
|
| |
making it catch a little too much, in principle
|
| |
|
|
|
|
|
|
|
| |
* Send prim flags as booleans from LLClientView rather than in the native LL array
* Thanks idb
|
|
|
|
|
|
|
| |
* Was caused by the lack of a local id. Local ids are now given from the same sequence as prims, rather than a separate one
* I don't believe this will cause any problems, but please revert to a separate sequence if it does
|
| |
|
|
|
|
| |
the verb at the front
|
|
|
|
|
|
| |
* This was only reference by ScenePresence and not used anyway - Scene itself had it's own copy
|
| |
|
|
|
|
|
|
| |
* These are assigned when the object is attached to the scene
|
|
|
|
|
|
| |
* this is now done in AttachToScene()
|
|
|
|
| |
AttachToScene())
|