summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authornagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-09-05 15:55:12 +0000
committernagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-09-05 15:55:12 +0000
commitea08099e88e6f967e14f35b9afb14b97cdbb351f (patch)
treee550d9e4b8afba9ea48c57fb31a8cdb3c782c427 /configure.in
parent0f1fb3d6e34cf9d889656e4362dadaeae949403d (diff)
merge revision(s) r46796: [Backport #10008]
* 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/branches/ruby_2_1@47418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in14
1 files changed, 7 insertions, 7 deletions
diff --git a/configure.in b/configure.in
index b657b1fa3d..fc01f3b425 100644
--- a/configure.in
+++ b/configure.in
@@ -2886,24 +2886,25 @@ void sigsegv(int signum, siginfo_t *info, void *ctx){
if (n > 0) {
/*fprintf(stdout, "backtrace:%d\n",n);*/
} else {
- abort();
+ _exit(EXIT_FAILURE);
}
- _exit(0);
+ _exit(EXIT_SUCCESS);
}
int
-main()
+main(void)
{
+ volatile int *a = NULL;
stack_t ss;
ss.ss_sp = malloc(SIGSTKSZ);
if (ss.ss_sp == NULL) {
fprintf(stderr, "cannot allocate memory for sigaltstack\n");
- abort();
+ return EXIT_FAILURE;
}
ss.ss_size = SIGSTKSZ;
ss.ss_flags = 0;
if (sigaltstack(&ss, NULL) == -1) {
fprintf(stderr, "sigaltstack failed\n");
- abort();
+ return EXIT_FAILURE;
}
struct sigaction sa;
memset(&sa, 0, sizeof(struct sigaction));
@@ -2912,9 +2913,8 @@ main()
sa.sa_flags |= SA_SIGINFO;
sa.sa_flags |= SA_ONSTACK;
sigaction(SIGSEGV, &sa, NULL);
- int *a = NULL;
a[0] = 1;
- return 0;
+ return EXIT_SUCCESS;
}
],
rb_cv_broken_backtrace=no,