save and restore errno in sig handler

git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2011 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
Lennart Poettering 2007-11-01 01:42:34 +00:00
parent 44d7c9ad9b
commit 005ed41c3f

View file

@ -113,6 +113,9 @@ static void write_err(const char *p) {
/* The signal handler, called on every SIGXCPU */ /* The signal handler, called on every SIGXCPU */
static void signal_handler(int sig) { static void signal_handler(int sig) {
int saved_errno;
saved_errno = errno;
pa_assert(sig == SIGXCPU); pa_assert(sig == SIGXCPU);
if (phase == PHASE_IDLE) { if (phase == PHASE_IDLE) {
@ -150,6 +153,8 @@ static void signal_handler(int sig) {
write_err("Hard CPU time limit exhausted, terminating forcibly.\n"); write_err("Hard CPU time limit exhausted, terminating forcibly.\n");
_exit(1); /* Forced exit */ _exit(1); /* Forced exit */
} }
errno = saved_errno;
} }
/* Callback for IO events on the FIFO */ /* Callback for IO events on the FIFO */