1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

configure.in: exit with failure

* configure.in (rb_cv_broken_backtrace): exit with failure
  normally, no needs to abort.  [ruby-core:63678] [Bug #10008]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2014-07-13 01:56:27 +00:00
parent 8a29da3b76
commit 5e14a4c4b3
2 changed files with 12 additions and 7 deletions

View file

@ -1,3 +1,8 @@
Sun Jul 13 10:56:26 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (rb_cv_broken_backtrace): exit with failure
normally, no needs to abort. [ruby-core:63678] [Bug #10008]
Sat Jul 12 15:10:22 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp> Sat Jul 12 15:10:22 2014 Masaki Suketa <masaki.suketa@nifty.ne.jp>
* ext/win32ole/win32ole.c (fole_record_method_missing): correct * ext/win32ole/win32ole.c (fole_record_method_missing): correct

View file

@ -3050,24 +3050,25 @@ void sigsegv(int signum, siginfo_t *info, void *ctx){
if (n > 0) { if (n > 0) {
/*fprintf(stdout, "backtrace:%d\n",n);*/ /*fprintf(stdout, "backtrace:%d\n",n);*/
} else { } else {
abort(); _exit(EXIT_FAILURE);
} }
_exit(0); _exit(EXIT_SUCCESS);
} }
int int
main() main(void)
{ {
volatile int *a = NULL;
stack_t ss; stack_t ss;
ss.ss_sp = malloc(SIGSTKSZ); ss.ss_sp = malloc(SIGSTKSZ);
if (ss.ss_sp == NULL) { if (ss.ss_sp == NULL) {
fprintf(stderr, "cannot allocate memory for sigaltstack\n"); fprintf(stderr, "cannot allocate memory for sigaltstack\n");
abort(); return EXIT_FAILURE;
} }
ss.ss_size = SIGSTKSZ; ss.ss_size = SIGSTKSZ;
ss.ss_flags = 0; ss.ss_flags = 0;
if (sigaltstack(&ss, NULL) == -1) { if (sigaltstack(&ss, NULL) == -1) {
fprintf(stderr, "sigaltstack failed\n"); fprintf(stderr, "sigaltstack failed\n");
abort(); return EXIT_FAILURE;
} }
struct sigaction sa; struct sigaction sa;
memset(&sa, 0, sizeof(struct sigaction)); memset(&sa, 0, sizeof(struct sigaction));
@ -3076,9 +3077,8 @@ main()
sa.sa_flags |= SA_SIGINFO; sa.sa_flags |= SA_SIGINFO;
sa.sa_flags |= SA_ONSTACK; sa.sa_flags |= SA_ONSTACK;
sigaction(SIGSEGV, &sa, NULL); sigaction(SIGSEGV, &sa, NULL);
int *a = NULL;
a[0] = 1; a[0] = 1;
return 0; return EXIT_SUCCESS;
} }
], ],
rb_cv_broken_backtrace=no, rb_cv_broken_backtrace=no,