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
19
Source : SignalHandler.cs
with GNU Lesser General Public License v2.1
from sharpsuite
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
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
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
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;
}