From 005ed41c3f83430ce936f55378c68f1e29557aeb Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 1 Nov 2007 01:42:34 +0000 Subject: save and restore errno in sig handler git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2011 fefdeb5f-60dc-0310-8127-8f9354f1896f --- src/daemon/cpulimit.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/daemon/cpulimit.c') diff --git a/src/daemon/cpulimit.c b/src/daemon/cpulimit.c index ab212129..b77dd443 100644 --- a/src/daemon/cpulimit.c +++ b/src/daemon/cpulimit.c @@ -113,6 +113,9 @@ static void write_err(const char *p) { /* The signal handler, called on every SIGXCPU */ static void signal_handler(int sig) { + int saved_errno; + + saved_errno = errno; pa_assert(sig == SIGXCPU); if (phase == PHASE_IDLE) { @@ -150,6 +153,8 @@ static void signal_handler(int sig) { write_err("Hard CPU time limit exhausted, terminating forcibly.\n"); _exit(1); /* Forced exit */ } + + errno = saved_errno; } /* Callback for IO events on the FIFO */ -- cgit