diff options
author | Lennart Poettering <lennart@poettering.net> | 2007-11-01 01:42:34 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2007-11-01 01:42:34 +0000 |
commit | 005ed41c3f83430ce936f55378c68f1e29557aeb (patch) | |
tree | 0f84b78ef95b156d89a5b3d5ed25baff57d3d4b1 /src | |
parent | 44d7c9ad9bcfd8ab55d4ef7f6595c7ffd65da35d (diff) |
save and restore errno in sig handler
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2011 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src')
-rw-r--r-- | src/daemon/cpulimit.c | 5 |
1 files changed, 5 insertions, 0 deletions
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 */ |