use regular lock instead of spinlock

pull/4146/head
Jan Tattermusch 9 years ago
parent 4bdd72befe
commit 1a8f547a0b
  1. 19
      src/csharp/Grpc.IntegrationTesting/Histogram.cs

@ -52,8 +52,7 @@ namespace Grpc.IntegrationTesting
/// </summary>
public class Histogram
{
readonly SpinLock spinlock = new SpinLock();
readonly object myLock = new object();
readonly double multiplier;
readonly double oneOnLogMultiplier;
readonly double maxPossible;
@ -79,16 +78,10 @@ namespace Grpc.IntegrationTesting
public void AddObservation(double value)
{
bool lockTaken = false;
spinlock.Enter(ref lockTaken);
try
lock (myLock)
{
AddObservationUnsafe(value);
}
finally
{
if (lockTaken) spinlock.Exit();
}
}
@ -97,16 +90,10 @@ namespace Grpc.IntegrationTesting
/// </summary>
public HistogramData GetSnapshot(bool reset = false)
{
bool lockTaken = false;
spinlock.Enter(ref lockTaken);
try
lock (myLock)
{
return GetSnapshotUnsafe(reset);
}
finally
{
if (lockTaken) spinlock.Exit();
}
}
/// <summary>

Loading…
Cancel
Save