Mercurial > hg > truffle
diff src/os/bsd/vm/os_bsd.cpp @ 8067:5cd2fac2ae70
6749267: Signal handler should save/restore errno
Summary: Save errno before processing signal, then restore it.
Reviewed-by: acorn, sspitsyn
author | hseigel |
---|---|
date | Tue, 19 Feb 2013 08:51:56 -0500 |
parents | 758935f7c23f |
children | 5fc51c1ecdeb 63e54c37ac64 bf06968a8a00 |
line wrap: on
line diff
--- a/src/os/bsd/vm/os_bsd.cpp Mon Feb 18 12:49:53 2013 +0100 +++ b/src/os/bsd/vm/os_bsd.cpp Tue Feb 19 08:51:56 2013 -0500 @@ -2887,7 +2887,9 @@ void signalHandler(int sig, siginfo_t* info, void* uc) { assert(info != NULL && uc != NULL, "it must be old kernel"); + int orig_errno = errno; // Preserve errno value over signal handler. JVM_handle_bsd_signal(sig, info, uc, true); + errno = orig_errno; }