System.Collections.Generic.Dictionary.ContainsKey(UnixSignal)

Here are the examples of the csharp api System.Collections.Generic.Dictionary.ContainsKey(UnixSignal) taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

4 Examples 7

19 Source : SignalHandler.cs
with GNU Lesser General Public License v2.1
from sharpsuite

public static void ClearSignalHandlers(UnixSignal signal)
        {
            if (SignalHandlers.ContainsKey(signal))
                SignalHandlers.Remove(signal);
        }

19 Source : SignalHandler.cs
with GNU Lesser General Public License v2.1
from sharpsuite

public static void HandleSignals()
        {
            var copy_of_signals = SignalHandlers.Keys.ToArray();

            int index = UnixSignal.WaitAny(copy_of_signals);

            if (index > 0 && index < copy_of_signals.Length)
            {
                var signal = copy_of_signals[index];

                if (!SignalHandlers.ContainsKey(signal))
                {
                    Log.Warn($"Ignoring signal without handler {signal.Signum}");
                    return;
                }

                var handlers = SignalHandlers[signal];

                foreach (var handler in handlers)
                {
                    try
                    {
                        Log.Debug($"Handling signal {signal.Signum}...");
                        handler();
                    }
                    catch (Exception ex) 
                    { 
                        Log.Warn(ex, $"Exception thrown while handling {signal.Signum}");
                    }
                }
            }
            else
                throw new IndexOutOfRangeException();
        }

19 Source : SignalHandler.cs
with GNU Lesser General Public License v2.1
from sharpsuite

public static void AddSignalHandler(UnixSignal signal, Action handler)
        {
            if (!SignalHandlers.ContainsKey(signal))
                SignalHandlers[signal] = new List<Action>();

            SignalHandlers[signal].Add(handler);
            Stdlib.raise(Signum.SIGUSR2);
        }

19 Source : SignalHandler.cs
with GNU Lesser General Public License v2.1
from sharpsuite

public static bool RemoveSignalHandler(UnixSignal signal, Action handler)
        {
            if (!SignalHandlers.ContainsKey(signal))
                return false;

            if (!SignalHandlers[signal].Contains(handler))
                return false;

            SignalHandlers[signal].Remove(handler);
            return true;
        }