public void Signal() { SignalTest st = new SignalTest(); // Insert handler SignalHandler oh = Stdlib.signal(Signum.SIGURG, new SignalHandler(st.Handler)); st.signalReceived = ~NativeConvert.FromSignum(Signum.SIGURG); // Send signal Stdlib.raise(Signum.SIGURG); Assert.IsTrue( NativeConvert.ToSignum(st.signalReceived) == Signum.SIGURG, "#IH: Signal handler not invoked for SIGURG"); // Reset old signal Stdlib.signal(Signum.SIGURG, oh); st.signalReceived = NativeConvert.FromSignum(Signum.SIGUSR1); Stdlib.raise(Signum.SIGURG); Assert.IsFalse(NativeConvert.ToSignum(st.signalReceived) == Signum.SIGURG, "#IH: Signal Handler invoked when it should have been removed!"); }