ruby-changes:26278
From: naruse <ko1@a...>
Date: Wed, 12 Dec 2012 12:12:46 +0900 (JST)
Subject: [ruby-changes:26278] naruse:r38335 (trunk): Specify rlimits_core to prevent making core file
naruse 2012-12-12 12:12:37 +0900 (Wed, 12 Dec 2012) New Revision: 38335 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=38335 Log: Specify rlimits_core to prevent making core file Stable fix for r38041. Modified files: trunk/test/ruby/test_rubyoptions.rb trunk/vm_dump.c Index: vm_dump.c =================================================================== --- vm_dump.c (revision 38334) +++ vm_dump.c (revision 38335) @@ -675,22 +675,21 @@ if (vm) { int i; VALUE name; + long len; + const int max_name_length = 1024; +# define LIMITED_NAME_LENGTH(s) \ + (((len = RSTRING_LEN(s)) > max_name_length) ? max_name_length : (int)len) name = vm->progname; - if (RB_TYPE_P(name, T_STRING)) { - fprintf(stderr, "* Loaded script: %s\n", RSTRING_PTR(name)); - } - else { - fprintf(stderr, "* Loaded script: #<%s:%p>\n", - rb_class2name(CLASS_OF(name)), (void *)name); - } + fprintf(stderr, "* Loaded script: %.*s\n", + LIMITED_NAME_LENGTH(name), RSTRING_PTR(name)); fprintf(stderr, "\n"); fprintf(stderr, "* Loaded features:\n\n"); for (i=0; i<RARRAY_LEN(vm->loaded_features); i++) { name = RARRAY_PTR(vm->loaded_features)[i]; if (RB_TYPE_P(name, T_STRING)) { - fprintf(stderr, " %4d %s\n", i, - RSTRING_PTR(name)); + fprintf(stderr, " %4d %.*s\n", i, + LIMITED_NAME_LENGTH(name), RSTRING_PTR(name)); } else { fprintf(stderr, " %4d #<%s:%p>\n", i, Index: test/ruby/test_rubyoptions.rb =================================================================== --- test/ruby/test_rubyoptions.rb (revision 38334) +++ test/ruby/test_rubyoptions.rb (revision 38335) @@ -513,7 +513,9 @@ status = assert_in_out_err(['-e', 'class Bogus; def to_str; exit true; end; end', '-e', '$".unshift Bogus.new', '-e', 'Process.kill :SEGV, $$'], - "", //, /#<Bogus:/) + "", //, /#<Bogus:/, + nil, + opts) assert_not_predicate(status, :success?, "segv but success #{bug7402}") end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/