6749267: Signal handler should save/restore errno

Save errno before processing signal, then restore it.

Reviewed-by: acorn, sspitsyn
This commit is contained in:
Harold Seigel 2013-02-19 08:51:56 -05:00
parent 1439d121c2
commit 301152ddb7
3 changed files with 6 additions and 0 deletions

View file

@ -3653,7 +3653,9 @@ JVM_handle_linux_signal(int signo, siginfo_t* siginfo,
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_linux_signal(sig, info, uc, true);
errno = orig_errno;
}