From 5058a1e9ed700264df78409e0d629fb18a0263ef Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 30 Oct 2007 18:35:08 +0000 Subject: save and restore errno in the sig handler git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2004 fefdeb5f-60dc-0310-8127-8f9354f1896f --- src/pulse/mainloop-signal.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/pulse') diff --git a/src/pulse/mainloop-signal.c b/src/pulse/mainloop-signal.c index 7d3017e2..e41ed14c 100644 --- a/src/pulse/mainloop-signal.c +++ b/src/pulse/mainloop-signal.c @@ -67,10 +67,16 @@ static pa_io_event* io_event = NULL; static pa_signal_event *signals = NULL; static void signal_handler(int sig) { + int saved_errno; + + saved_errno = errno; + #ifndef HAVE_SIGACTION signal(sig, signal_handler); #endif pa_write(signal_pipe[1], &sig, sizeof(sig), NULL); + + errno = saved_errno; } static void dispatch(pa_mainloop_api*a, int sig) { -- cgit