aboutsummaryrefslogtreecommitdiffstats
path: root/g10/signal.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2000-07-14 17:34:53 +0000
committerWerner Koch <[email protected]>2000-07-14 17:34:53 +0000
commit92cd25550836198cf1e3a6aac239eef98364359d (patch)
tree4fad355126fae79c93535e0e7c6afd91e384552a /g10/signal.c
parentSee ChangeLog: Thu May 25 18:39:11 CEST 2000 Werner Koch (diff)
downloadgnupg-92cd25550836198cf1e3a6aac239eef98364359d.tar.gz
gnupg-92cd25550836198cf1e3a6aac239eef98364359d.zip
See ChangeLog: Fri Jul 14 19:38:23 CEST 2000 Werner Koch
Diffstat (limited to 'g10/signal.c')
-rw-r--r--g10/signal.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/g10/signal.c b/g10/signal.c
index fcb012e02..f61b0a8f8 100644
--- a/g10/signal.c
+++ b/g10/signal.c
@@ -1,5 +1,5 @@
/* signal.c - signal handling
- * Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+ * Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
*
* This file is part of GnuPG.
*
@@ -27,9 +27,9 @@
#include <errno.h>
#include <assert.h>
+#include <gcrypt.h>
#include "options.h"
#include "errors.h"
-#include <gcrypt.h>
#include "util.h"
#include "main.h"
#include "ttyio.h"
@@ -59,14 +59,23 @@ got_fatal_signal( int sig )
caught_fatal_sig = 1;
gcry_control( GCRYCTL_TERM_SECMEM );
- #ifdef IS_DEVELOPMENT_VERSION
+ /* better don't transtale these messages */
write(2, "\n", 1 );
s = log_get_name(); if( s ) write(2, s, strlen(s) );
write(2, ": ", 2 );
s = get_signal_name(sig); write(2, s, strlen(s) );
write(2, " caught ... exiting\n", 21 );
+
+ #ifndef HAVE_DOSISH_SYSTEM
+ { /* reset action to default action and raise signal again */
+ struct sigaction nact;
+ nact.sa_handler = SIG_DFL;
+ sigemptyset( &nact.sa_mask );
+ nact.sa_flags = 0;
+ sigaction( sig, &nact, NULL);
+ }
#endif
- exit(8); /* Hmmm, for some reasons rais2e does not work */
+ raise( sig );
}