diff options
author | dahlia | 2009-11-30 01:09:46 -0800 |
---|---|---|
committer | dahlia | 2009-11-30 01:09:46 -0800 |
commit | 5b0bb1eff97065a5e02d8fed757bb71f9262595f (patch) | |
tree | 75901727de505d71cb799a96dfaa27fa43031c29 /OpenSim/Framework/Util.cs | |
parent | add agent position to output of "show users" console command (diff) | |
parent | * Patch from Misterblue to fix Environment.TickCount for statistics purposes.... (diff) | |
download | opensim-SC-5b0bb1eff97065a5e02d8fed757bb71f9262595f.zip opensim-SC-5b0bb1eff97065a5e02d8fed757bb71f9262595f.tar.gz opensim-SC-5b0bb1eff97065a5e02d8fed757bb71f9262595f.tar.bz2 opensim-SC-5b0bb1eff97065a5e02d8fed757bb71f9262595f.tar.xz |
Merge branch 'master' of ssh://dahlia@myConnection01/var/git/opensim
Diffstat (limited to 'OpenSim/Framework/Util.cs')
-rw-r--r-- | OpenSim/Framework/Util.cs | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index 87ba5a8..a459f8d 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs | |||
@@ -1389,6 +1389,30 @@ namespace OpenSim.Framework | |||
1389 | return null; | 1389 | return null; |
1390 | } | 1390 | } |
1391 | 1391 | ||
1392 | #endregion FireAndForget Threading Pattern | 1392 | #endregion FireAndForget Threading Pattern |
1393 | /// <summary> | ||
1394 | /// Environment.TickCount is an int but it counts all 32 bits so it goes positive | ||
1395 | /// and negative every 24.9 days. This trims down TickCount so it doesn't wrap | ||
1396 | /// for the callers. | ||
1397 | /// This trims it to a 12 day interval so don't let your frame time get too long. | ||
1398 | /// </summary> | ||
1399 | /// <returns></returns> | ||
1400 | public static Int32 EnvironmentTickCount() | ||
1401 | { | ||
1402 | return Environment.TickCount & EnvironmentTickCountMask; | ||
1403 | } | ||
1404 | const Int32 EnvironmentTickCountMask = 0x3fffffff; | ||
1405 | |||
1406 | /// <summary> | ||
1407 | /// Environment.TickCount is an int but it counts all 32 bits so it goes positive | ||
1408 | /// and negative every 24.9 days. Subtracts the passed value (previously fetched by | ||
1409 | /// 'EnvironmentTickCount()') and accounts for any wrapping. | ||
1410 | /// </summary> | ||
1411 | /// <returns>subtraction of passed prevValue from current Environment.TickCount</returns> | ||
1412 | public static Int32 EnvironmentTickCountSubtract(Int32 prevValue) | ||
1413 | { | ||
1414 | Int32 diff = EnvironmentTickCount() - prevValue; | ||
1415 | return (diff >= 0) ? diff : (diff + EnvironmentTickCountMask + 1); | ||
1416 | } | ||
1393 | } | 1417 | } |
1394 | } | 1418 | } |