diff options
author | John Hurliman | 2009-10-25 00:40:21 -0700 |
---|---|---|
committer | John Hurliman | 2009-10-25 00:40:21 -0700 |
commit | 730930955a7edc0bfa69ff1cac93acd024cf8d24 (patch) | |
tree | ae38c7d82245acdc4499d9b39a227eba541132bb /OpenSim/Data | |
parent | * Changed various modules to not initialize timers unless the module is initi... (diff) | |
download | opensim-SC_OLD-730930955a7edc0bfa69ff1cac93acd024cf8d24.zip opensim-SC_OLD-730930955a7edc0bfa69ff1cac93acd024cf8d24.tar.gz opensim-SC_OLD-730930955a7edc0bfa69ff1cac93acd024cf8d24.tar.bz2 opensim-SC_OLD-730930955a7edc0bfa69ff1cac93acd024cf8d24.tar.xz |
Changing Scene.ForEachClient to use the synchronous for loop instead of Parallel. This is quite possibly the source of some deadlocking, and at the very least the synchronous version gives better stack traces
* Lock the LLUDPClient RTO math * Add a helper function for backing off the RTO, and follow the optional advice in RFC 2988 to clear existing SRTT and RTTVAR values during a backoff
* Removing the unused PrimitiveBaseShape.SculptImage parameter * Improved performance of SceneObjectPart instantiation * ZeroMesher now drops SculptData bytes like Meshmerizer, to allow the texture data to be GCed * Improved typecasting speed in MySQLLegacyRegionData.BuildShape()
* Improved the instantiation of PrimitiveBaseShape
Diffstat (limited to 'OpenSim/Data')
-rw-r--r-- | OpenSim/Data/MySQL/MySQLAssetData.cs | 3 | ||||
-rw-r--r-- | OpenSim/Data/MySQL/MySQLLegacyRegionData.cs | 53 |
2 files changed, 26 insertions, 30 deletions
diff --git a/OpenSim/Data/MySQL/MySQLAssetData.cs b/OpenSim/Data/MySQL/MySQLAssetData.cs index fc05d1d..4d49733 100644 --- a/OpenSim/Data/MySQL/MySQLAssetData.cs +++ b/OpenSim/Data/MySQL/MySQLAssetData.cs | |||
@@ -167,9 +167,6 @@ namespace OpenSim.Data.MySQL | |||
167 | asset.Temporary = Convert.ToBoolean(dbReader["temporary"]); | 167 | asset.Temporary = Convert.ToBoolean(dbReader["temporary"]); |
168 | } | 168 | } |
169 | } | 169 | } |
170 | |||
171 | if (asset != null) | ||
172 | UpdateAccessTime(asset); | ||
173 | } | 170 | } |
174 | catch (Exception e) | 171 | catch (Exception e) |
175 | { | 172 | { |
diff --git a/OpenSim/Data/MySQL/MySQLLegacyRegionData.cs b/OpenSim/Data/MySQL/MySQLLegacyRegionData.cs index 801d6b9..c07963c 100644 --- a/OpenSim/Data/MySQL/MySQLLegacyRegionData.cs +++ b/OpenSim/Data/MySQL/MySQLLegacyRegionData.cs | |||
@@ -1430,37 +1430,36 @@ namespace OpenSim.Data.MySQL | |||
1430 | { | 1430 | { |
1431 | PrimitiveBaseShape s = new PrimitiveBaseShape(); | 1431 | PrimitiveBaseShape s = new PrimitiveBaseShape(); |
1432 | s.Scale = new Vector3( | 1432 | s.Scale = new Vector3( |
1433 | Convert.ToSingle(row["ScaleX"]), | 1433 | (float)(double)row["ScaleX"], |
1434 | Convert.ToSingle(row["ScaleY"]), | 1434 | (float)(double)row["ScaleY"], |
1435 | Convert.ToSingle(row["ScaleZ"]) | 1435 | (float)(double)row["ScaleZ"] |
1436 | ); | 1436 | ); |
1437 | // paths | 1437 | // paths |
1438 | s.PCode = Convert.ToByte(row["PCode"]); | 1438 | s.PCode = (byte)(int)row["PCode"]; |
1439 | s.PathBegin = Convert.ToUInt16(row["PathBegin"]); | 1439 | s.PathBegin = (ushort)(int)row["PathBegin"]; |
1440 | s.PathEnd = Convert.ToUInt16(row["PathEnd"]); | 1440 | s.PathEnd = (ushort)(int)row["PathEnd"]; |
1441 | s.PathScaleX = Convert.ToByte(row["PathScaleX"]); | 1441 | s.PathScaleX = (byte)(int)row["PathScaleX"]; |
1442 | s.PathScaleY = Convert.ToByte(row["PathScaleY"]); | 1442 | s.PathScaleY = (byte)(int)row["PathScaleY"]; |
1443 | s.PathShearX = Convert.ToByte(row["PathShearX"]); | 1443 | s.PathShearX = (byte)(int)row["PathShearX"]; |
1444 | s.PathShearY = Convert.ToByte(row["PathShearY"]); | 1444 | s.PathShearY = (byte)(int)row["PathShearY"]; |
1445 | s.PathSkew = Convert.ToSByte(row["PathSkew"]); | 1445 | s.PathSkew = (sbyte)(int)row["PathSkew"]; |
1446 | s.PathCurve = Convert.ToByte(row["PathCurve"]); | 1446 | s.PathCurve = (byte)(int)row["PathCurve"]; |
1447 | s.PathRadiusOffset = Convert.ToSByte(row["PathRadiusOffset"]); | 1447 | s.PathRadiusOffset = (sbyte)(int)row["PathRadiusOffset"]; |
1448 | s.PathRevolutions = Convert.ToByte(row["PathRevolutions"]); | 1448 | s.PathRevolutions = (byte)(int)row["PathRevolutions"]; |
1449 | s.PathTaperX = Convert.ToSByte(row["PathTaperX"]); | 1449 | s.PathTaperX = (sbyte)(int)row["PathTaperX"]; |
1450 | s.PathTaperY = Convert.ToSByte(row["PathTaperY"]); | 1450 | s.PathTaperY = (sbyte)(int)row["PathTaperY"]; |
1451 | s.PathTwist = Convert.ToSByte(row["PathTwist"]); | 1451 | s.PathTwist = (sbyte)(int)row["PathTwist"]; |
1452 | s.PathTwistBegin = Convert.ToSByte(row["PathTwistBegin"]); | 1452 | s.PathTwistBegin = (sbyte)(int)row["PathTwistBegin"]; |
1453 | // profile | 1453 | // profile |
1454 | s.ProfileBegin = Convert.ToUInt16(row["ProfileBegin"]); | 1454 | s.ProfileBegin = (ushort)(int)row["ProfileBegin"]; |
1455 | s.ProfileEnd = Convert.ToUInt16(row["ProfileEnd"]); | 1455 | s.ProfileEnd = (ushort)(int)row["ProfileEnd"]; |
1456 | s.ProfileCurve = Convert.ToByte(row["ProfileCurve"]); | 1456 | s.ProfileCurve = (byte)(int)row["ProfileCurve"]; |
1457 | s.ProfileHollow = Convert.ToUInt16(row["ProfileHollow"]); | 1457 | s.ProfileHollow = (ushort)(int)row["ProfileHollow"]; |
1458 | byte[] textureEntry = (byte[]) row["Texture"]; | 1458 | s.TextureEntry = (byte[])row["Texture"]; |
1459 | s.TextureEntry = textureEntry; | ||
1460 | 1459 | ||
1461 | s.ExtraParams = (byte[]) row["ExtraParams"]; | 1460 | s.ExtraParams = (byte[])row["ExtraParams"]; |
1462 | 1461 | ||
1463 | s.State = Convert.ToByte(row["State"]); | 1462 | s.State = (byte)(int)row["State"]; |
1464 | 1463 | ||
1465 | return s; | 1464 | return s; |
1466 | } | 1465 | } |