In Files

    • error.c
    • signal.c

    Parent

    Methods

    Class/Module Index [+]

    Quicksearch
    No matching classes.

    SignalException

    Raised when a signal is received.

    begin
     Process.kill('HUP',Process.pid)
     sleep # wait for receiver to handle signal sent by Process.kill
    rescue SignalException => e
     puts "received Exception #{e}"
    end
    

    produces:

    received Exception SIGHUP
    

    Public Class Methods

    new(sig_name) → signal_exception click to toggle source
    new(sig_number [, name]) → signal_exception

    Construct a new object. sig_name should be a known signal name.

     static VALUE
    esignal_init(int argc, VALUE *argv, VALUE self)
    {
     int argnum = 1;
     VALUE sig = Qnil;
     int signo;
     if (argc > 0) {
     sig = rb_check_to_integer(argv[0], "to_int");
     if (!NIL_P(sig)) argnum = 2;
     else sig = argv[0];
     }
     rb_check_arity(argc, 1, argnum);
     if (argnum == 2) {
     signo = NUM2INT(sig);
     if (signo < 0 || signo > NSIG) {
     rb_raise(rb_eArgError, "invalid signal number (%d)", signo);
     }
     if (argc > 1) {
     sig = argv[1];
     }
     else {
     sig = rb_signo2signm(signo);
     }
     }
     else {
     int prefix;
     signo = signm2signo(&sig, FALSE, FALSE, &prefix);
     if (prefix != signame_prefix_len) {
     sig = rb_str_append(rb_str_new_cstr("SIG"), sig);
     }
     }
     rb_call_super(1, &sig);
     rb_ivar_set(self, id_signo, INT2NUM(signo));
     return self;
    }
     

    Public Instance Methods

    signo → num click to toggle source

    Returns a signal number.

     static VALUE
    esignal_signo(VALUE self)
    {
     return rb_ivar_get(self, id_signo);
    }
     

    This page was generated for Ruby

    is provided by and . .

    Generated with Ruby-doc Rdoc Generator 0.44.0.