diff options
author | Justin Clark-Casey (justincc) | 2011-12-13 20:42:39 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-12-13 20:42:39 +0000 |
commit | b242ceda1e7599a8e71150f3fcc9f27a64d18828 (patch) | |
tree | 5f83477d214d48e32a2836b113591fe4cdb8848d | |
parent | Get rid of the 'lolcat' library asset. (diff) | |
download | opensim-SC_OLD-b242ceda1e7599a8e71150f3fcc9f27a64d18828.zip opensim-SC_OLD-b242ceda1e7599a8e71150f3fcc9f27a64d18828.tar.gz opensim-SC_OLD-b242ceda1e7599a8e71150f3fcc9f27a64d18828.tar.bz2 opensim-SC_OLD-b242ceda1e7599a8e71150f3fcc9f27a64d18828.tar.xz |
In AvatarFactoryModule.SetApperance(), perform ValidateBakedTextureCache() in the same thread rather than on another one.
The caller is already an async thread from LLClientView so this doesn't hold up the client.
However, launching on a separate thread does remove the effect of m_setAppearanceLock
This was potentially allowing two different SetAppearance threads to interfere with each other, though this probably rarely happens, if at all.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs | 4 |
2 files changed, 6 insertions, 4 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 7223438..9c86c74 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -575,8 +575,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
575 | /// <summary> | 575 | /// <summary> |
576 | /// Add a handler for the given packet type. | 576 | /// Add a handler for the given packet type. |
577 | /// </summary> | 577 | /// </summary> |
578 | /// <remarks>The packet is handled on its own thread. If packets must be handled in the order in which thye | 578 | /// <remarks> |
579 | /// are received then please us ethe synchronous version of this method.</remarks> | 579 | /// The packet is handled on its own thread. If packets must be handled in the order in which thye |
580 | /// are received then please use the synchronous version of this method. | ||
581 | /// </remarks> | ||
580 | /// <param name="packetType"></param> | 582 | /// <param name="packetType"></param> |
581 | /// <param name="handler"></param> | 583 | /// <param name="handler"></param> |
582 | /// <returns>true if the handler was added. This is currently always the case.</returns> | 584 | /// <returns>true if the handler was added. This is currently always the case.</returns> |
diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs index f06fb14..29e3580 100644 --- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs | |||
@@ -150,13 +150,13 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
150 | changed = sp.Appearance.SetTextureEntries(textureEntry) || changed; | 150 | changed = sp.Appearance.SetTextureEntries(textureEntry) || changed; |
151 | 151 | ||
152 | m_log.InfoFormat("[AVFACTORY]: received texture update for {0}", sp.UUID); | 152 | m_log.InfoFormat("[AVFACTORY]: received texture update for {0}", sp.UUID); |
153 | Util.FireAndForget(delegate(object o) { ValidateBakedTextureCache(sp, false); }); | 153 | ValidateBakedTextureCache(sp, false); |
154 | 154 | ||
155 | // This appears to be set only in the final stage of the appearance | 155 | // This appears to be set only in the final stage of the appearance |
156 | // update transaction. In theory, we should be able to do an immediate | 156 | // update transaction. In theory, we should be able to do an immediate |
157 | // appearance send and save here. | 157 | // appearance send and save here. |
158 | |||
159 | } | 158 | } |
159 | |||
160 | // save only if there were changes, send no matter what (doesn't hurt to send twice) | 160 | // save only if there were changes, send no matter what (doesn't hurt to send twice) |
161 | if (changed) | 161 | if (changed) |
162 | QueueAppearanceSave(sp.ControllingClient.AgentId); | 162 | QueueAppearanceSave(sp.ControllingClient.AgentId); |