diff options
-rw-r--r-- | libguile/scmsigs.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libguile/scmsigs.c b/libguile/scmsigs.c index 1583f4f3e..d1daf04b4 100644 --- a/libguile/scmsigs.c +++ b/libguile/scmsigs.c @@ -137,12 +137,14 @@ static int signal_pipe[2]; static SIGRETTYPE take_signal (int signum) { + int old_errno = errno; char sigbyte = signum; full_write (signal_pipe[1], &sigbyte, 1); #ifndef HAVE_SIGACTION signal (signum, take_signal); #endif + errno = old_errno; } struct signal_pipe_data |