public void ResetRunning(Message message) { // Note: This method is always called while holding lock on this activation, so no need for additional locks here numRunning--; if (numRunning == 0) { becameIdle = DateTime.UtcNow; if (!IsExemptFromCollection) { collector.TryRescheduleCollection(this); } } // The below logic only works for non-reentrant activations. if (Running != null && !message.Equals(Running)) { return; } Running = null; currentRequestStartTime = DateTime.MinValue; }
public void ResetRunning(Message message) { // Note: This method is always called while holding lock on this activation, so no need for additional locks here numRunning--; if (numRunning == 0) { becameIdle = DateTime.UtcNow; if (!IsExemptFromCollection) { collector.TryRescheduleCollection(this); } } // The below logic only works for non-reentrant activations. if (Running != null && !message.Equals(Running)) return; Running = null; currentRequestStartTime = DateTime.MinValue; }