aboutsummaryrefslogtreecommitdiffstats
path: root/main.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2018-02-10 22:05:40 +0200
committerArnold D. Robbins <arnold@skeeve.com>2018-02-10 22:05:40 +0200
commitade2a277da426c00af426871ba778f41c3c671be (patch)
treec0892179d20603e986096c310d8068c38233138b /main.c
parenta7512f3eb03ae2b6361e56518a2f405e386315a0 (diff)
parentc456bfb67cdfd71b869d059ce50335ef80c2c271 (diff)
downloadegawk-ade2a277da426c00af426871ba778f41c3c671be.tar.gz
egawk-ade2a277da426c00af426871ba778f41c3c671be.tar.bz2
egawk-ade2a277da426c00af426871ba778f41c3c671be.zip
Merge branch 'gawk-4.2-stable'
Diffstat (limited to 'main.c')
-rw-r--r--main.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/main.c b/main.c
index 2860d246..25a628ba 100644
--- a/main.c
+++ b/main.c
@@ -1226,6 +1226,8 @@ catchsig(int sig)
set_loc(__FILE__, __LINE__);
msg(_("fatal error: internal error"));
/* fatal won't abort() if not compiled for debugging */
+ // GLIBC 2.27 doesn't necessarily flush on abort. Sigh.
+ fflush(NULL);
abort();
} else
cant_happen();
@@ -1240,6 +1242,7 @@ catchsegv(void *fault_address, int serious)
{
set_loc(__FILE__, __LINE__);
msg(_("fatal error: internal error: segfault"));
+ fflush(NULL);
abort();
/*NOTREACHED*/
return 0;
@@ -1252,6 +1255,7 @@ catchstackoverflow(int emergency, stackoverflow_context_t scp)
{
set_loc(__FILE__, __LINE__);
msg(_("fatal error: internal error: stack overflow"));
+ fflush(NULL);
abort();
/*NOTREACHED*/
return;