/* * call-seq: * SystemExit.new(status=0) => system_exit * * Create a new +SystemExit+ exception with the given status. */ static VALUE exit_initialize(argc, argv, exc) int argc; VALUE *argv; VALUE exc; { VALUE status = INT2FIX(EXIT_SUCCESS); if (argc > 0 && FIXNUM_P(argv[0])) { status = *argv++; --argc; } rb_call_super(argc, argv); rb_iv_set(exc, "status", status); return exc; }