Example #1
0
        public static SignalHandler signal(Signum signum, SignalHandler handler)
        {
            int _sig = NativeConvert.FromSignum(signum);

            Delegate[] handlers = handler.GetInvocationList();
            for (int i = 0; i < handlers.Length; ++i)
            {
                Marshal.Prelink(handlers [i].Method);
            }

            IntPtr r;

            if (handler == SIG_DFL)
            {
                r = sys_signal(_sig, _SIG_DFL);
            }
            else if (handler == SIG_ERR)
            {
                r = sys_signal(_sig, _SIG_ERR);
            }
            else if (handler == SIG_IGN)
            {
                r = sys_signal(_sig, _SIG_IGN);
            }
            else
            {
                r = sys_signal(_sig, handler);
            }
            return(TranslateHandler(r));
        }
Example #2
0
 public static int raise(Signum sig)
 {
     return(sys_raise(NativeConvert.FromSignum(sig)));
 }
Example #3
0
 public static int SetSignalAction(Signum signal, SignalAction action)
 {
     return(SetSignalAction(NativeConvert.FromSignum(signal), action));
 }