From 646abff51d38292367bce009d01087c404c4759b Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 14 Dec 2010 05:19:51 +0000 Subject: [PATCH] Better error message if malloc gets a SIGSEGV. From-SVN: r167785 --- libgo/runtime/go-signal.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libgo/runtime/go-signal.c b/libgo/runtime/go-signal.c index 8f44970402e..3838ab98871 100644 --- a/libgo/runtime/go-signal.c +++ b/libgo/runtime/go-signal.c @@ -133,6 +133,12 @@ sighandler (int sig) { sigset_t clear; + if (__sync_bool_compare_and_swap (&m->mallocing, 1, 1)) + { + fprintf (stderr, "caught signal while mallocing: %s\n", msg); + __go_assert (0); + } + /* The signal handler blocked signals; unblock them. */ i = sigfillset (&clear); __go_assert (i == 0); -- 2.30.2