Exemple #1
0
        protected void AddNewWait(OutputWait wait)
        {
            lock (Waits)
                Waits.Add(wait);

            lock (FilteredOutput) {
                for (int i = 0; i < FilteredOutput.Count; i++) {
                    var ol = FilteredOutput[i];

                    if (wait.IsMatch(ol.Item2)) {
                        FilteredOutput.RemoveAt(i);

                        lock (Waits)
                            Waits.Remove(wait);

                        wait.Signal.Set();

                        return;
                    }
                }
            }
        }