aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Adds a new script command 'modInvoke' to invoke registered functionsMic Bowman2012-03-157-5/+270
| | | | | | | | | 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", ...)
* Remove property/field duplication in ScriptInstance where it's unnecessary.Justin Clark-Casey (justincc)2012-03-152-170/+115
|
* Simplify some logic in the ScriptInstance constructor - running is set to ↵Justin Clark-Casey (justincc)2012-03-151-9/+3
| | | | false in both if/else branches
* minor: correct indentation levelsJustin Clark-Casey (justincc)2012-03-151-13/+12
|
* Remove duplication of m_RunEvents and RunningJustin Clark-Casey (justincc)2012-03-151-17/+11
|
* Fix a problem where multiple near simultaneous calls to llDie() from ↵Justin Clark-Casey (justincc)2012-03-152-20/+10
| | | | | | | | | | 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.
* Alleviate an issue where calling Thread.Abort() on script WorkItems can fail ↵Justin Clark-Casey (justincc)2012-03-152-4/+15
| | | | | | | | | | 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.
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimDiva Canto2012-03-133-25/+50
|\
| * refactor: rename ScriptInstance.m_CurrentResult to m_CurrentWorkItem to make ↵Justin Clark-Casey (justincc)2012-03-143-25/+50
| | | | | | | | | | | | 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
* | Teleports: bounce off repeated requests of teleporting the same agent. Some ↵Diva Canto2012-03-131-0/+13
| | | | | | | | scripts do that, and that fails the whole thing.
* | Minor sanity check on simulation agent handler (content type)Diva Canto2012-03-131-7/+12
| |
* | Merge branch 'master' of ssh://opensimulator.org/var/git/opensimDiva Canto2012-03-136-4/+14
|\ \ | |/
| * Add max thread and min thread information to "xengine status" region console ↵Justin Clark-Casey (justincc)2012-03-122-0/+5
| | | | | | | | command
| * Rename the stream extension method WebUtil.CopyTo() to WebUtil.CopyStream().Robert Adams2012-03-124-4/+9
| | | | | | | | | | | | | | | | | | | | .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.
* | Datasnapshot: added "secret" to the registration/deregistration query so ↵Diva Canto2012-03-132-33/+28
|/ | | | that data providers can verify authenticity if they want.
* DataSnapshot: renamed gridserverURL to gatekeeperURL, and normalimzed the ↵Diva Canto2012-03-121-2/+2
| | | | capitalization of 'name' to lower case, also in the same <grid> section.
* Added osGetGridGatekeeperURI()Diva Canto2012-03-103-0/+20
|
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimDiva Canto2012-03-109-111/+236
|\
| * Fix TestSaveOarNoAssets() by not launch a no-assets request on a separate ↵Justin Clark-Casey (justincc)2012-03-101-1/+1
| | | | | | | | | | | | thread. This was previous behaviour anyway.
| * minor: In IAR save, log when we start adding the control file rather than ↵Justin Clark-Casey (justincc)2012-03-101-2/+3
| | | | | | | | saying afterwards that we added it.
| * minor: rearrange some save oar messages so they say what they're about to do ↵Justin Clark-Casey (justincc)2012-03-101-8/+7
| | | | | | | | rather than what they've just done.
| * On OAR saving, try fetch assets serially rather than firing all the requests ↵Justin Clark-Casey (justincc)2012-03-102-9/+18
| | | | | | | | | | | | | | 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.
| * Add ability to specify a default estate to be used when creating regions.Justin Clark-Casey (justincc)2012-03-101-64/+152
| | | | | | | | | | | | | | | | 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.
| * Factor out common default animations code into SLUtil. LLClientView now ↵Justin Clark-Casey (justincc)2012-03-094-62/+55
| | | | | | | | | | | | makes use of the SLUtil copy via a method rather than each LLClientView loading a separate copy. As per opensim-users mailing list discussion.
| * Merge branch 'master' of melanie@opensimulator.org:/var/git/opensimMelanie2012-03-094-6/+85
| |\
| * | fix for NPC not playing internal animationssatguru srivastava2012-03-091-1/+36
| | |
* | | Serialize all web requests to a particular host:port pair; only applied to ↵Mic Bowman2012-03-091-0/+41
| |/ |/| | | | | the PostToService variants.
* | More on inventory transfer hold ups:Diva Canto2012-03-093-5/+84
| | | | | | | | | | | | - 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.
* | More on HG inventory transfers. Move the FireAndForget higher up.Diva Canto2012-03-092-2/+2
| |
* | Merge branch 'master' of ssh://opensimulator.org/var/git/opensimDiva Canto2012-03-084-88/+36
|\ \ | |/
| * Simplify minimap coarse location code by just reference SP.AbsolutePositionJustin Clark-Casey (justincc)2012-03-092-12/+3
| | | | | | | | This is rather than checking whether the avatar is sitting and doing its own calculation.
| * Get rid of unnecessary ParentID == 0 check on SP.Get_AbsolutePosition since ↵Justin Clark-Casey (justincc)2012-03-091-2/+2
| | | | | | | | this is handled by the necessary ParentPart check
| * Use SP.ParentPart instead of ParentID in places where it's more efficient ↵Justin Clark-Casey (justincc)2012-03-094-68/+32
| | | | | | | | | | | | | | (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.
| * refactor: cleanup SP.HandleAgentSit so that everything is done within one if ↵Justin Clark-Casey (justincc)2012-03-091-15/+8
| | | | | | | | (part != null), rather than having unnecessary multiple checks
* | More on the freeze on HG inventory transfers: spawn a threadlet on the ↵Diva Canto2012-03-081-1/+1
|/ | | | functional asset posts so that the client threads doesn't freeze (but the network posts are serialized).
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimDiva Canto2012-03-086-48/+796
|\
| * Remove a race condition from SP.Set_AbsolutePosition where we assume the ↵Justin Clark-Casey (justincc)2012-03-091-5/+5
| | | | | | | | | | | | ParentPart is still not null if the ParentID != 0 Another thread could come in and stand the avatar between those two instructions.
| * FireAndForget scripted rez - port from AvinationMelanie2012-03-091-41/+46
| |
| * Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2012-03-092-29/+32
| |\
| * \ Merge branch 'xassetservice'Justin Clark-Casey (justincc)2012-03-094-2/+745
| |\ \
| | * | minor: move some compression related var setup inside compression if/then switchJustin Clark-Casey (justincc)2012-03-091-4/+3
| | | |
| | * | Put big fat EXPERIMENTAL warning in xassetservice database pluginJustin Clark-Casey (justincc)2012-03-091-0/+10
| | | | | | | | | | | | | | | | | | | | This should not currently be used in any circumstances except for experimentation. Database tables used by this plugin can still change at any time with no migration path.
| | * | Switch to sha256 from sha1 in order to avoid future asset hash collisions.Justin Clark-Casey (justincc)2012-03-062-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some successful collision attacks have been carried out on sha1 with speculation that more are possible. http://en.wikipedia.org/wiki/Cryptographic_hash_function#Cryptographic_hash_algorithms No successful attacks have been shown on sha256, which makes it less likely that anybody will be able to engineer an asset hash collision in the future. Tradeoff is more storage required for hashes, and more cpu to hash, though this is neglible compared to db operations and network access.
| | * | remove unnecessary hash local variableJustin Clark-Casey (justincc)2012-03-051-2/+0
| | | |
| | * | Make asset compression optional. Currently set to false and not ↵Justin Clark-Casey (justincc)2012-03-031-16/+24
| | | | | | | | | | | | | | | | configurable from outside MySQLXAssetData.
| | * | Implement basic gzip compression for xassetdataJustin Clark-Casey (justincc)2012-03-031-10/+41
| | | | | | | | | | | | | | | | | | | | | | | | Whether this is worthwhile is debatable since here we are not transmitting data over a network In addition, jpeg2000 (the biggest data hog) is already a compressed image format. May not remain.
| | * | If asset data already exists with the required hash then don't rewrite itJustin Clark-Casey (justincc)2012-03-031-17/+59
| | | |
| | * | Perform asset storage transactionallyJustin Clark-Casey (justincc)2012-03-021-57/+69
| | | |
| | * | Merge branch 'master' into xassetserviceJustin Clark-Casey (justincc)2012-03-024-40/+34
| | |\ \
| | * | | Make xassetservice execute one query to retrieve the asset, not twoJustin Clark-Casey (justincc)2012-03-021-28/+4
| | | | |