summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/exceptions.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2006-02-20 02:04:31 +0000
committerChristopher Faylor <me@cgf.cx>2006-02-20 02:04:31 +0000
commita339c989c7bb65677c1544d613e65699030f9466 (patch)
treed201b1d003f49b9175ab8d77a40346893f6c53e6 /winsup/cygwin/exceptions.cc
parent6d618665782201a6b7f05d0e7d9ad1df7346c463 (diff)
downloadcygnal-a339c989c7bb65677c1544d613e65699030f9466.tar.gz
cygnal-a339c989c7bb65677c1544d613e65699030f9466.tar.bz2
cygnal-a339c989c7bb65677c1544d613e65699030f9466.zip
* exceptions.cc (stackdump): Avoid dumping more than once.
Diffstat (limited to 'winsup/cygwin/exceptions.cc')
-rw-r--r--winsup/cygwin/exceptions.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc
index 3f2c13c88..cce217e87 100644
--- a/winsup/cygwin/exceptions.cc
+++ b/winsup/cygwin/exceptions.cc
@@ -262,13 +262,16 @@ static void
stackdump (DWORD ebp, int open_file, bool isexception)
{
extern unsigned long rlim_core;
+ static bool already_dumped;
- if (rlim_core == 0UL)
+ if (rlim_core == 0UL || (open_file && already_dumped))
return;
if (open_file)
open_stackdumpfile ();
+ already_dumped = true;
+
int i;
thestack.init (ebp, 1, !isexception); /* Initialize from the input CONTEXT */