private HttpStatusCode CancelCrossing(CrossingRequest cross)
{
m_crossLock.EnterUpgradeableReadLock();
try
{
if (m_crossings.ContainsKey(cross.uuid))
{
m_crossLock.EnterWriteLock();
try
{
m_crossings.Remove(cross.uuid);
return(HttpStatusCode.OK);
}
finally
{
m_crossLock.ExitWriteLock();
}
}
else
{
return(HttpStatusCode.NotFound);
}
}
finally
{
m_crossLock.ExitUpgradeableReadLock();
}
}